The design and implementation of an automated tissue

Original Report Adjunct Automation to the Cellmate Cell Culture Robot TM Christopher J. Bernard,1* David Connors,2 Lauren Barber,2 Sukhanya Jayachan...
Author: Ami Glenn
17 downloads 0 Views 590KB Size
Original Report

Adjunct Automation to the Cellmate Cell Culture Robot TM

Christopher J. Bernard,1* David Connors,2 Lauren Barber,2 Sukhanya Jayachandra,2 Andrew Bullen,1 and Angela Cacace2 1 Discovery Technologies, Bristol-Myers Squibb Co.; 2 Lead Discovery, Bristol-Myers Squibb Co., Wallingford, CT

Keywords: CellmateTM, cell culture automation, flask labeling, flask scraping, FlaskMaster, FlaskLabeler, FlaskScraper

he design and implementation of an automated tissue culture flask labeling, delivery, scraping, and retrieval system centered around the CellmateTM cell culture robot is presented. Three new custom subsystems named FlaskMaster, FlaskLabeler, and FlaskScraper were created and integrated into the Cellmate robotic system. FlaskMaster is a centralized multi-axis robot with a surrounding enclosure that houses racks of stacked tissue culture flasks (size T-175). The FlaskMaster system interfaces externally with the Cellmate’s conveyor system to deliver and retrieve flasks. FlaskLabeler is a print and apply system that labels flasks prior to transfer between FlaskMaster and the Cellmate. FlaskScraper is a scraping rod and blade assembly that was specifically designed for automated scraping of T-175 flasks. The combination of these systems allows for large-scale, unattended cell seeding and harvesting of cells from flasks. The addition of these new capabilities significantly reduces the manpower needed to operate the Cellmate. Moreover, these changes greatly improve the performance and capability of the stand-alone Cellmate system. ( JALA 2004;9:209–17)

T

*Correspondence: Christopher J. Bernard, Bristol-Myers Squibb, 5 Research Parkway, Wallingford, CT 06492; Phone +1.203.677.7052; Fax: +1.203.677.6417; E-mail: [email protected] 1535-5535/$30.00 Copyright

c

2004 by The Association for Laboratory Automation

doi:10.1016/j.jala.2004.03.004

INTRODUCTION Cell-based assays represent approximately 50% of all high throughput screening efforts currently undertaken in pharmaceutical drug discovery.1,2 Production of large quantities of cells to support high throughput screening (HTS) campaigns requires considerable planning and resource allocation. To meet these needs some companies have chosen to industrialize routine cell culture operations with various levels of custom and commercial automation.3,4 However, to provide maximum impact and usefulness, these robots must still be integrated into the existing laboratory environment and process flow. A set of automation enhancements necessary to integrate and extend the capabilities of one commercially available cell culture robot is described below. The CellmateTM system from The Automation Partnership (TAP; Hertfordshire, UK), provides an immediate solution to large-scale cell seeding and harvesting by automating existing manual cell culture methods. The Cellmate system consists of a 6-degrees of freedom Staubli (Zurich, Switzerland) RX60 robot, in-feed and out-feed conveyors (which are adjustable for flasks or roller bottles), an attached incubator for roller bottles, and a series of media delivery and retrieval pumps. The robotic arm aseptically performs all relevant cell culture manipulations for growing and harvesting cell lines including cell seeding, media exchange, supernatant harvest, cell monolayer rinsing, cell detachment by trypsinization and cell removal by scraping. The Cellmate can process between 10 and 500 roller bottles or tissue culture flasks containing as many as 10 different cell lines a day. This is approximately JALA August 2004

209

Original Report 2–3 times the amount of work one individual could comfortably handle. In general, this robot improves upon existing manual tissue culture methods by increasing throughput, adding consistency, reducing contamination, decreasing repetitive strain injury, and reducing waste and cost by eliminating disposable pipettes from the scale-up process. The Cellmate performs the tasks of seeding and harvesting cells from roller bottles efficiently, but has several limiting factors when collecting cells from flasks. Specifically, the low capacity of the in-feed and out-feed conveyors and its inability to harvest cells by scraping flasks are significant deficiencies. With the Cellmate in its original configuration, the in-feed conveyor has a capacity to hold approximately 12 flasks, and Cellmate system halts if 5 processed flasks remain on the outfeed conveyor. The capacity of these conveyors is important because it dictates the extent of interaction of the user with the robot, thus determining the amount of unattended walkaway time during a production run. In the original configuration these capacity limits required an unnecessarily high level of user intervention which resulted in little or no labor saving. One goal of this project was to remove this bottleneck and to permit unattended operation for an entire production run of 250 flasks or more. High throughput seeding and harvesting of multiple cell lines concurrently requires the flasks from each run to be distinguishable from each other when stored in the same incubator. Previously, this task was being accomplished manually by writing various identifiers directly on the flask with a marker before each run began. The second goal of this project was to automate the printing, application, and reading of labels marked with barcodes and text. By integrating these labeling functions into the larger system a further manual process was eliminated, and automated tracking of flask information throughout the entire culture process was enabled. The Cellmate is normally equipped with a hinged scraper rod and blade assembly that is designed for automated insertion into, and removal from, roller bottles. Unfortunately, this device is unable to accommodate flasks due to the geometry of the culturing surface and the size of the flask neck. This limitation requires that cells that are unable to be harvested by trypsinization (or equivalent methods) must instead be detached with a manual scraping process. During normal operations this manual process requires scraping of up to 1,000 flasks/week with a hand scraper. A third goal of this project was to construct a solution that allowed the Cellmate to automatically scrape flasks. In summary, several manual processes (i.e., flask loading, flask labeling, and cell scraping) have been identified that limit the utility of the Cellmate robot in its original configuration. Here, we describe the design, construction, and integration of systems and components with this robot expressly to solve the problems of attended operation, unnecessary manual procedures, and flask identification 210 JALA

August 2004

and tracking. Three new systems, named FlaskMaster, FlaskLabeler, and FlaskScraper, were designed, built, and integrated with the Cellmate to produce a system with greater utility and throughput.

MATERIALS AND METHODS Three new subsystems were added to the Cellmate platform: FlaskMaster, FlaskLabeler, and FlaskScraper. FlaskMaster is a custom-built system that integrates robotics and instrumentation to accomplish the tasks of flask handling and identification. It provides automated loading and unloading of flasks onto the Cellmate conveyor systems, and allows unattended operation during seeding and harvesting applications. FlaskLabeler is a subsystem of the FlaskMaster capable of printing, applying, and reading labels marked with barcodes and text for flask identification. FlaskScraper is a custom scraper arm and blade assembly that uses a unique method for insertion and extraction of the blade through the neck of the flask. It is capable of attaining scraping coverage equal to the manual process, and enables unattended and automated scraping to be performed on flasks using the Cellmate. The combined system is shown in Fig. 1. These new subsystems were designed to operate independently from, but in parallel with, the Cellmate (i.e., there are no shared hardware or software resources and no direct communication). This design decision was made to allow for simpler integration, and to facilitate manual or autonomous operation.

Figure 1. CellmateTM and FlaskMaster. Integration of the FlaskMaster (1) with the Cellmate (2) enhanced its functionality by loading flasks onto the in-feed conveyor, printing labels, applying labels, reading unique identifying barcodes for each flask, and removal of flasks from the Cellmate out-feed conveyor.

Original Report FlaskMaster The FlaskMaster robot is composed of several key components: an enclosure and rack hardware, a flask detection and handling system, a labeling system (i.e., FlaskLabeler), and a software interface (see Fig. 2).

Hardware. The robot enclosure consists of an octagonal safety structure with an upper and lower shelf for housing removable racks of flasks (see Fig. 2A). The enclosure can accommodate up to 22 racks. The shelves have locating pins that secure the racks, and pneumatic lock-downs to prevent users from accidentally removing racks in process.

Figure 2. FlaskMaster. (A) The FlaskMaster robotic enclosure consists of an octagonal safety structure with an upper and lower shelf that houses removable racks providing the ability to load and unload 168 flasks. (B) The FlaskMaster arm with mounted vacuum cups capable of lifting flasks is coupled to a pneumatic actuator for movement onto and away from the CellmateTM conveyors. The FlaskMaster arm includes a sensor that detects the presence or absence of flasks at various points. (C) FlaskLabeler: The label print and apply station allows for tracking of flasks with a unique barcode, cell line name, operator, and time/date stamp. JALA

August 2004 211

Original Report The custom designed racks have tapered edges to allow automated insertion and extraction of up to 8 flasks by the robot. The enclosure is equipped with automatic door locks that prevent the user from opening the doors as the robot is in motion. The door and rack locks are controllable from the user interface. Environmental conditions (i.e., temperature, CO2 content, and humidity) in this enclosure are not actively controlled. The flask detection and handling system is composed of several key components: actuators, sensors, and a controller. The three axes of motion consist of a Dynaserv (Parker Hannifin Corporation, Cleveland, OH) direct-drive rotary actuator at the base (DR 1015B60), a 1 m THK (Schaumburg, IL) linear slide for vertical motion (GL series), and a 400 mm THK linear slide for extension of the arm (LM series). The arm (Fig. 2B) is hinged at the back, and is coupled to a pneumatic actuator that is equipped with a sensor to detect the angle if the arm is lifted unexpectedly. Two vacuum cups are mounted to the front of the arm, and are used to lift the flasks out of the racks or locating positions. A Keyence (Woodcliff Lake, NJ) barcode scanner (BL-600) is mounted to the rear of the vacuum cup to allow for label reading during a run. A Banner (Minneapolis, MN) infrared sensor (SM312CV2QD) is mounted to the lower front of the arm’s linear slide, and is used to detect the presence of a flask in a rack (see Fig. 2B). All of the components and sensors are integrated through the Compumotor AT-6450 multi-axis controller (Parker Hannifin Corporation, Cleveland, OH). The AT-6450 controller is installed on an ISA bus in an industrial PC mounted below the electrical cabinet. The cabinet also serves as the user podium. Software. The user interface (UI) was developed in Microsoft Visual Basic 6.0 (Redmond, WA) to provide simplistic control of the FlaskMaster robot using Compumotor’s OCX for communication with the AT-6450. The routines for detecting and handling flasks (written in the Compumotor’s 6000 Series Programming Language) are downloaded to the controller, and are subsequently called by sending text commands serially from the host computer through the UI. The control logic that governs the flow of flasks through this system is shown diagrammatically in Fig. 3. This figure illustrates how decision points depend on sensor output (i.e., it is a sensor-driven system). System operation is entirely asynchronous, with the FlaskMaster responding in a just-intime fashion to the presence of flasks at output of the Cellmate’s out-feed conveyer. No attempt is made to match cycle times between FlaskMaster and Cellmate. The FlaskMaster’s first priority is to remove flasks from the outfeed queue and this occasionally causes delays in the placements of flasks onto the in-feed conveyor. These delays can cause the Cellmate robot to idle momentarily. However the duration of these delays is minimal (typically less than 30 sec), and does not significantly impact the overall system cycle time. Furthermore, this asynchronous and sensor212 JALA

August 2004

driven mode of operation allows user intervention to remove ‘‘bad’’ flasks or to re-queue others without disrupting an entire run.

FlaskLabeler Hardware. This print and apply system (Fig. 2C) is composed of an Intermec (Everett, WA) 3440 series printer, and a pneumatic actuator coupled to a vacuum system for label handling. The label data is programmed through the user interface at the beginning of the run. In addition to the preprogrammed cell line data, each label is given a date-time stamp and unique barcode number when it is printed. The printer is controlled via a RS-232 connection and coordinated with the delivery of a new flask to the presentation station. Software. FlaskLabeler interacts directly with a custom corporate database (i.e., CellTracker) which functions to track the fate of the many different cell lines used in HTS. The barcode, name, date and genealogy for each cell line are downloaded from the CellTracker database and encoded on each flask label. Corresponding error logs and other reportable information is unloaded to this database after each run.

FlaskScraper Hardware. A new scraper blade comprising an aluminum shaft and disposable 1/16-in. thick FDA grade silicone rubber (Durometer 60A) blade was constructed (see Fig. 4A). The shaft of the scraper blade was designed to fit into the pre-existing mounts which are normally used for the removable aspirating rods and the scraper for roller bottles (see Fig. 4B). It is designed with a retaining plate that is used to clamp the blade to the shaft, and can be unscrewed to replace the disposable blades. The blades are produced in-house using a method of pressing sheets of silicone under a custom designed die. A typical blade will last more than 250 flasks before showing signs of wear. The blade is designed to accommodate the profile of the flask, including coverage of the tapered neck. It is also able to conform to the profile required for insertion and extraction through the 1 in. diameter opening in the neck of the flask. Software. Processing flasks with FlaskScraper was achieved by modifying an existing programmed routine for scraping roller bottles with a new movement profile, and increasing the number of programmable teach-points (from 8 to 36). The Cellmate’s software allows the user to modify existing (or add additional) points for the robot to interpolate motion between. This enables the robot’s motion to be fine tuned to account for variations in processes and equipment. We utilized this feature to elaborate an existing routine for scraping roller bottles into one that permitted flask scraping. This routine was developed empirically by individually moving each axis to specific teach-points. The new movement profile was determined using the Cellmate’s capability to automatically interpolate movements between learned

Original Report

Figure 3. Process Control Scheme. This flowchart shows the control scheme of the automated workflow and how individual sensors are used at important decision points. The automated workflow has 2 main components: loading new flasks and placing processed flasks. The priority is given to placing processed flasks in order to avoid backing up the out-feed conveyor. The program ends when 168 flasks have been put away or the run is terminated by the user. points. This interpolation capability is important for providing smooth, coordinated motion of the flask. The new movement profile consists of several key steps: entry, scraping, and exit. These steps are illustrated in Fig. 4C. Entry of the scraper into the flask is achieved by commanding the robot to first move the flask so that the opening makes slight contact with the leading edge of the scraper blade. The robot then performs a series of interpolated traverses and rotations coaxial to the scraper rod which causes the rubber blade to wrap around the shaft, and permits entry into the neck of the flask. Once the blade clears the opening, it unfurls and the robot moves the flask such that the blade is positioned at the upper portion of the flask. Scraping is achieved by commanding the robot to move the flask in a series of bi-directional axial rotations to position the blade at the upper, middle and lower portions of the flask. These rotations and the unique profile of the blade allow for coverage of the entire surface of the flask. After the scraping process is complete, the robot is commanded to reverse the entry profile to remove the blade from the flask, and continue with the next scheduled procedure. Process. Following scraping with the FlaskScraper, cells are removed from the flasks by aspiration into a collection vessel

using CellmateÕs automated system. The cells are then counted and viability determinations made. The cells can then be plated directly for HTS or harvested for further reagent preparation.

RESULTS The addition of FlaskMaster to the Cellmate system enabled a fundamentally different workflow than previously possible with this instrument. A summary of this improved process workflow is shown in Fig. 5. Variations on this basic scheme are controllable by the operator via the FlaskMaster user interface. For instance, it is not always necessary to label and track individual flasks. The remaining control options are the ability to start, pause/ resume, terminate the run, lock and unlock the racks and doors, or to activate the emergency stop. There are several indicators displaying the status of the hardware emergencystops in addition to the overall system status. If an error is detected by the controller, the run is terminated, and the user is directed to a recovery program which allows limited and incremental jog control of each axis. The cycle times achieved with this new system are not significantly different from that of the Cellmate operating JALA

August 2004 213

Original Report

Figure 4. FlaskScraper was designed to enable CellmateTM to scrape flasks. (A) The FlaskScraper blade was custom designed to allow for insertion into T-175 flasks. (B) Integration of FlaskScraper onto the Cellmate robotic system enables complete coverage of the tissue culture surface of a T-175 flask during automated harvesting of cells. (C) Scraper Sequence. C.1: blade entry. C.2–4: scraping sequence. C.5: blade exit.

alone. The cycle time for a combined in-feed and out-feed pick-and-place operation performed by the FlaskMaster is approximately 35 sec. A complete FlaskMaster run (i.e., 168 flasks) translates to approximately 98 min. The Cellmate cycle time varies depending on which program is being run. The fastest cycle time for a Cellmate operation (i.e., 214 JALA

August 2004

inoculation) is 30 sec. Medium changes take >35 seconds and scraping still longer (2 min). The increase in the number of Cellmate teach-points from 8 to 36 had only minor impact (\10%) on the total cycle time for the existing scraping operation on the Cellmate. Total cycle time for the combined system is dictated by the longest individual

Original Report

Figure 5. Automated Process Flow. This flowchart documents the new process flow enabled by the addition of FlaskMaster to CellmateTM. Automated processes are included inside the dotted box. Operations outside this box still require manual intervention. Note that Cellmate operations can also include seeding or harvesting of cells. cycle time, which in most cases, can be attributed to the Cellmate. As part of this improved process, the user also has the ability to import data pertaining to the cell lines from a cell tracking database application (i.e., Cell Tracker5), and add delivery or other information to be printed on the barcode label (via FlaskLabeler). Each label has identical information

for a particular run with the exception of a unique timestamp of when the flask is loaded onto the in-feed conveyor. Hardware improvements to this system have significantly boosted system capacity. The enclosure and rack hardware provide a means for loading, unloading, and storing many flasks at once in an environment accessible by the flask handling robot. The system has the capacity to load 168 flasks per run. Larger production runs are treated as separate sequential runs. The flask detection and handling system is responsible for locating, retrieving, and placing flasks within the enclosure, and interfacing with the Cellmate conveyors. Before the flasks are loaded onto the in-feed conveyor, the handling system presents them to the print and applied station to receive a label generated by the control software. When the flask is presented to the print and apply station, the vacuum system removes the label from the printer, and applies it to the flask. If it fails to remove the label, or no label is detected by the vacuum sensors, the print and apply routine is terminated from the run. The print and apply routine can also be disabled at the beginning of the run if labels are not important. In addition to generating the identifiers for the flask labels, the software interface enables the user to activate hard-coded motion routines, and to control and monitor various system parameters. As mentioned above, the controllers for the FlaskMaster and Cellmate systems operate independently; there are no shared hardware or software resources to trigger the motion routines. This independence between these systems allows for simple integration and manual or autonomous operation. The addition of FlaskScraper to the Cellmate system enabled this system to perform scraping of flasks. Previously, the Cellmate scraper could not readily be positioned into the flasks due to the existing design of the Cellmate scraper blade and the geometry of the flasks. Additionally, the Cellmate scraper blade could not achieve coverage of the entire tissue culture surface. The redesigned FlaskScraper blade allows its location into T-175 flasks and the capability to scrape an area equal to that achieved with manual methods. Empirical evaluations of blade stiffness were required to optimize scraper performance. Small durometer values (i.e., 40A) produced a weaker blade with insufficient stiffness and poor scraping ability. Conversely, higher durometer values (i.e., 70A) produced an inflexible blade that could not be maneuvered into the flask. For production purposes, a disposable 1/16 in. thick FDA grade silicone rubber blade with a durometer value of 60A was found to be ideal.

SYSTEM PERFORMANCE The integration of the Cellmate robot into a larger automated cell culture process, results in a number of performance gains and labor savings without any decline in cell yield or quality. Moreover, the integrated system has greater utility and JALA

August 2004 215

Original Report throughput than the original Cellmate instrument alone. In particular, performance gains from FlaskMaster have increased the unattended operation time from virtually none to approximately 4 hours per production run. Furthermore, this system increased the total unattended batch throughput from 5 to 168 flasks. Likewise, FlaskScraper has provided useful process improvements and ergonomic enhancements. In the course of normal operations, FlaskScraper has provided an FTE (full-time employee) saving of 1.5 days per week. Overall, a conservative estimate of the labor saving from the combined system would be an FTE. Cell harvesting results using the FlaskScraper were equivalent to those achieved manually. For example, harvesting 30 flasks manually would take 1 hour to complete with many rapid repetitive motions. Thirty flasks harvested using the FlaskScraper attached to the Cellmate system would take 1 hour of unattended operation to complete. Similarly, harvesting cells with the FlaskScraper/Cellmate automation yields equivalent numbers of cells from each flask compared to the numbers derived from a purely manual process. For example, harvesting a T-175 flask of adherent macrophage-like RAW cells yields, on average, 4107 cells/ flask using the manual method versus 4107/ flask using the automated method. Likewise, cell health and quality, as determined by Trypan Blue exclusion, were equivalent. Approximately 90,000 flasks have been processed on FlaskMaster during the first 2 years of operation with a mean time between failures of many months. Failures that did occur were predominantly a result of the flasks being accidentally loaded into the racks inverted, or failure of the operator to hand-tighten the caps before loading the flasks into the racks. Additionally, this system is easy to maintain and requires relatively little preventive maintenance.

DISCUSSION AND CONCLUSIONS In this report we document the successful integration of the CellmateTM robot into a larger automated cell culture process. The addition of FlaskMaster, FlaskLabeler, and FlaskScraper to the Cellmate platform has produced an integrated system with greater utility than the original instrument alone. These hardware improvements to the basic Cellmate system are also reflected in increased system performance. Furthermore, by tightly integrating these hardware changes with companion informatics (i.e., CellTracker5) we have also derived additional value and further improved our overall process. The CellTracker database contains all information critical for monitoring growth and maintenance of the many cell lines used in HTS. The FlaskLabeler system both uses and supplements the information contained in this database. Relevant cellular data is encoded in the label applied to each flask. Corresponding data (i.e., error logs) generated during each Cellmate production run are fed back into the CellTracker database. More generally, these improvements further demonstrate the 216 JALA

August 2004

many benefits of process automation and how it can be applied to cell culture enterprises. These advantages include increases in productivity, reductions in cycle time, enhancements to product quality and consistency, and safety/ ergonomic improvements. Our integrated platform demonstrates quantifiable improvements in each of these areas. Moreover, our custom modifications have allowed us to realize additional process enhancements over and above those provided by the original Cellmate alone. While these new subsystems have added additional capabilities (e.g., flask scraping), they have also enabled a fundamentally different workflow than previously possible. This process is robust and able to proceed unattended, which thereby increases productivity and boosts overall capacity. In the future, this system could be further improved with the addition of an automated flask incubator.6,7 This additional component would allow a totally closed-loop cell seeding and harvesting process. At present, flasks that have been seeded need to be manually placed into a 5% CO2 humidified incubator, and then removed at the appropriate time for harvesting. An automated flask incubator is needed to remove the necessity for the manual transfer of the flasks between the FlaskMaster and incubator. The current system is designed to accomplish this task by having the ability to interface with an external automated flask incubator when a suitable commercial product becomes available. The combination of Cellmate and FlaskMaster is only part of a larger suite of automated cell culture infrastructure currently existing within Bristol-Myers Squibb.5 Although the combined Cellmate and FlaskMaster system perform a ‘‘scale-up’’ function in support of HTS campaigns other similar instruments perform complementary roles. For instance, the SelecTTM system (also from The Automation Partnership) handles the maintenance of small batches of many different cell lines. Together these robotic systems and others like them represent the wave of the future for industrialized cell culture. Looking ahead, it isn’t difficult to imagine how a suite of similar instruments will develop, expand, plate and scale up individual cell line reagents in support of screening during all phases of the drug discovery process. In summary, the new FlaskMaster, FlaskLabeler and FlaskScraper systems work together with the CellmateTM and existing informatics tools (i.e., CellTracker) to provide an efficient and autonomous solution to cell seeding and harvesting using tissue culture flasks. The performance of this system provides significant manpower savings and increases in capacity necessary to match current and future HTS requirements.

ACKNOWLEDGMENTS The authors would like to thank our colleagues for software support (Yvonne Fitzgerald, Jeff Guss, and Brian Healey), operational support (Christian Strom), and technical guidance (Alastair Binnie and Martyn Banks).

Original Report REFERENCES 1. Moore, K.; Rees, S. Cell-based versus isolated target screening: How lucky do you feel? J. Biomol. Screen. 2001, 6(21), 69–74. 2. Maffia, A. M. III; Kariv, I. I.; Oldenburg, K. R. Miniaturization of a mammalian cell-based assay: Luciferase reporter gene readout in a 3 microliter 1536-well plate. J. Biomol. Screen. 1999, 4(3), 137–142. 3. Chapman, T. Automation on the move. Nature 2003, 421, 661–666. 4. Kempner, M. E.; Felder, R. A. A review of cell culture automation. JALA 2002, 7(2), 56–62.

5. Cacace, A. Industrialization of cell culture for drug discovery. Podium presentation at SBS meeting, Portland, OR, 2003. 6. Triaud, F.; Clenet, D.-H.; Cariou, Y.; Le Neel, T.; Morin, D.; Truchaud, A. Evaluation of automated cell culture incubators. JALA 2003, 8(6), 82–86. 7. Triaud, F.; Darmon, C.; Cariou, Y.; Ferry, N.; Le Neel, T.; Clenet, D.-H.; Morin, D.; Fraudeau, C.; Blanchard, D.; Truchaud, A. Evaluation of an automated cell culture incubator: The Autocell 200. JALA 2003, 8(6), 87–95.

JALA

August 2004 217

Suggest Documents