background image

DuraCOR 310 

 

Glossary    

 

 

 

MNL-0666-01  Rev A3   

ECO-5479 

Effective:  26 Apr 18   

Page 51 of 51 

 

Glossary 

Term 

Definition/Description 

DTK 

A Development Test Kit consisting of Mounting plate-heat sink, CPU/RAM, Carrier, and 
an IO board with commercial connectors 

Base Unit I/O Board 

The board that, through four circular connectors, brings all the Inputs and Outputs to 
and from the DuraCOR 310 Base Unit. This boards also provides access to unused 
Expansion Pins. 

BSP 

Board Support Package, an implementation of specific software for a given board. 

Built-In Test (BIT) 

Mechanism that permits a machine to test itself 

CAN 

Controller Area Network 

COM 

Computer on Module, Single board computer 

COTS 

Commercial Off the Shelf 

Dmux 

A device that takes a single input signal and distributes signal to one of many data-
output-lines. 

DuraCOR 311 

Intel Atom based mission computer, see Curtiss-Wright website for more information 
https://www.curtisswrightds.com/products/electronic-systems/rugged-mission-
computing/duracor-mission-computers/duracor-311.html 

DuraCOR 310 Base Unit 

The DuraCOR 310 without the addition of any expansion segment (removable 2.5” 
SSD) 

DuraDBH 672 

Rugged Commercial Off The Shelf (COTS) Gigabit Ethernet switch and vetronics 
computer system 

Mini PCIe I/O Cards / mPCIe 

Mini PCI express form factor card [30 mm × 50.95 mm] that can be added to the 
DuraCOR 310 Base Unit to add I/O without increasing the size of the system. The 
base unit supports up to three Mini PCIe I/O cards.  Available I/O on mini PCIe form 
factor include: Gigabit Ethernet, MIL STD 1553, ARINC 429, CAN Bus, Frame 
Grabbers, GPS, Wi-Fi, serial ports, analog/digital data acquisition cards, GPIO, etc. 

Mini PCIe I/O Socket 

J2/J3 Connector on Parvus Carrier board. This socket can be used to hold a Mini PCIe 
I/O Card. 

mSATA SSD  

A small form factor [30 mm × 50.95 mm] solid state drive. Also known as MO300A 
form factor. Compatible with Parvus Carrier J4 Connector. 

mSATA SSD/Mini PCIe Socket 

J4 Connector on Parvus Carrier board. This socket can be used to hold an mSATA 
SSD storage card or a Mini PCIe I/O Card. 

Mux / Muxing 

A device that selects one of several input signals and forwards the input into a single 
line 

OpenCL 

Open Computing Language (OpenCL) is a framework for writing programs that 
execute across heterogeneous platforms consisting of CPUs, GPUs, DSPs, FPGAs 
and other processors or hardware accelerators 

OpenGL 

Open Graphics Library (OpenGL) is a cross-language, cross-platform application 
programming interface (API) for rendering 2D and 3D vector graphics 

OpenVG 

Open VG is an API designed for hardware accelerated 2D vector graphics 

SFF 

Small Form Factor designed to minimize volume 

SMARC 

Smart Mobility ARChitecture.  This is the module that houses the processor and many 
of the auxiliary interfaces. 

SoC 

System on Chip, an IC that integrates all components of a computer or other electronic 
system into a single chip. 

SOM 

System On Module, Single board computer 

 
 
 

Summary of Contents for DuraCOR 310

Page 1: ...USER MANUAL DuraCOR 310 i MX6 ARM Modular Mission Computer ...

Page 2: ... is issued in compliance with the regulations as set out by the 2002 96 CE directive subsequently superseded by 2003 108 CE It refers to electrical and electronic equipment and the waste management of such products When disposing of a device including all of its components subassemblies and materials that are an integral part of the product you should consider the WEEE directive This symbol has be...

Page 3: ...esources and Connectors Location 13 Chapter 2 Operational Description 14 Mini PCIe Expansion 14 Installing Mini PCIe Cards into the DuraCOR 310 Mission Computer 14 Integrating Mini PCIe Cards 15 Storage Options 15 mSATA 16 2 5 SSD Expansion 16 Installing the Device 16 Removing the Device 16 Accessories 16 MicroSD Card Expansion 17 Installation 17 Removal 18 Audio 19 Microphone 19 Serial Configurat...

Page 4: ...nnector 34 Configurable I O Internal Connectors 36 Test Cable Set CBL C31X 01 37 Chapter 6 Specifications 38 Technical Specifications 38 Energy Efficient CPU GPU 38 Storage 38 Modular Expandable 38 Target Applications 38 Standard I O Interfaces 38 Related Products 39 Mechanical Specifications 39 Physical 39 Dimensions 39 Mounting the System 42 Power 42 Environmental Specifications 42 Temperature 4...

Page 5: ...ev A3 ECO 5479 Effective 26 Apr 18 Page 5 of 51 Protocol Buffers 47 BIT Status via Protocol Buffers 47 Serial Configuration via Protocol Buffers 48 Apendix B GPIO Configuration 49 GPIO 49 GPIO Example Code 50 Building Example Code 50 Glossary 51 ...

Page 6: ...nnector Identification 28 Figure 11 DuraCOR 310 J1 Front Pinout 29 Figure 12 DuraCOR 310 J2 Front Pinout 30 Figure 13 DuraCOR 310 J3 Front Pinout 32 Figure 14 DuraCOR 310 J4 Front Pinout 34 Figure 15 P2 Audio Connector 36 Figure 16 P4 P6 Configurable I O 36 Figure 17 CBL C31X 01 Starter Cable Set 37 Figure 18 DuraCOR 310 Top View Dimensions 40 Figure 19 DuraCOR 310 Front View Dimensions 40 Figure ...

Page 7: ... Pinout 19 Table 4 DuraCOR 310 Connector IdentificationTable 28 Table 5 J1 Connector Information 29 Table 6 J1 Pinout 29 Table 7 J2 Connector Information 30 Table 8 J2 Pinout 30 Table 9 J3 Connector Information 32 Table 10 J3 Pinout 32 Table 11 J4 Connector Information 34 Table 12 J4 Pinout 34 Table 13 Configurable I O Internal Connector Part Numbers 36 Table 14 CBL C31X 01 37 Table 15 USB Serial ...

Page 8: ...d cables and includes procedures for starting the system installing and using mini PCIe IO cards and using zeroization capabilities Chapter 3 provides a Quick Start guide Chapter 4 contains the Linux BSP information Chapter 5 contains connector pinouts for all connectors external and internal Chapter 6 provides chassis specifications dimensions and mounting instructions In addition it provides the...

Page 9: ...ncluding MIL STD 1553 and ARINC429 avionics databus interfaces and Curtiss Wright s responsive cost competitive application engineering services to deliver Modified COTS MCOTS variants quickly and without a traditional NRE fee The unique combination of small size low power multi core processing and flexible I O of the DuraCOR 310 delivers new capabilities for Command Control Communications Compute...

Page 10: ...o assess your technical requirements and recommended system configuration Table 1 DuraCOR 310 Configurations Product Number Description System w mSATA C310 01 DuraCOR 310 i MX6 Quad 1 GB RAM 16 GB mSATA SSD mSATA Linux C310 02 DuraCOR 310 i MX6 Quad 1 GB RAM 32 GB mSATA SSD mSATA Linux C310 03 DuraCOR 310 i MX6 Quad 1 GB RAM 64 GB mSATA SSD mSATA Linux C310 04 DuraCOR 310 i MX6 Quad 1 GB RAM 128 G...

Page 11: ...emovable Storage Bay Option Example ordering code C310 00R DuraCOR 310 i MX6Quad 1 GB RAM no mSATA Removable 2 5 SATA SSD Storage Bay disk sold separately SSD31X 064S L 64 GB 2 5 SATA SSD Industrial SLC NAND Flash 40 85C Mounting Tray Linux compatible with DuraCOR 31X Figure 2 Base System with Removable Storage Bay ...

Page 12: ...cessor Freescale i MX6 Arm On SMARC Freescale Ethernet Broadcom On SMARC Broadcom I210 On Motherboard Intel WGI210IT Serial Dual TXRX RS232 422 485 Multiprotocol Transceiver Linear Technologies LTC2872 TXRX RS 232 Transceiver Analog Devices ADM3222A PCIe PCIe Switch Broadcom Avago PEX8605 PCIe Gen 3 Mux Dmux NXP Semiconductors CBTL02043A USB 7 port USB 2 0 HUB Microchip Technology USB2517 Audio Au...

Page 13: ...e different configurations the following shared resources are explained below SATA mSATA P6 on the motherboard allows an add on SATA drive to be attached to the system via an add on ring if larger capacities or removable storage is desired If an added SATA device is attached the mSATA socket can no longer be used for storage Figure 4 SATA Expansion P6 ...

Page 14: ...t the DuraCOR 310 can support up to two 2 Mini PCIe cards Typical devices offered in the Mini PCIe form factor that can be easily integrated into a DuraCOR 310 include Gigabit Ethernet MIL STD 1553 ARINC 429 CAN Bus Frame Grabbers TBD GPS Wi Fi Serial ports Analog digital data acquisition cards GPIO SATA Figure 5 Mini PCIe Cards from various Manufactureres Installing Mini PCIe Cards into the DuraC...

Page 15: ... a cable to bring out the I O from the mini PCIe cards through the circular connectors J2 J4 use the information in Chapter 5 for the available I O The below table contains the mating connectors for the expansion I O and the corresponding circular connector pins See Chapter 5 section Configurable I O Internal Connectors for manufacturer part number mating connector locations and pinouts The config...

Page 16: ...he drive Hot swappable activation or deactivation can be selected in BIOS see BIOS Settings below Installing the Device Below are the basic steps to install a 2 5 SATA drive in the system Ensure the SATA drive is securely attach to the SSD tray using 4x M3 flat head screws and a thread locker i e Loctite 222 Remove the door and place the drive and tray assembly on the door Slide the assembly into ...

Page 17: ...e used in conjunction with another storage device All drives loaded are rated to the same or greater environmental specifications as the system Figure 8 MicroSD Card Slot Caution ESD Sensitive Components Follow standard ESD and FOD controls to avoid damage to the internal components Installation Power off system and remove the bottom cover Slide the microSD cage cover toward the pins Figure 9 Micr...

Page 18: ...ured Replace the bottom cover and secure the screws to 34 4 in oz using thread locker i e Loctite 222 Removal Power off system and remove the bottom cover Slide the microSD cage cover toward the board edge Figure 9 Lift cage Remove the microSD card Lower the cage and slide it away from the board edge to lock it in place There will be an audible click when cage is secured Replace the bottom cover a...

Page 19: ...e to the internal components Microphone Microphone is mono only Table 3 Stereo Connector Pinout P2 Signals 1 Headphone Right 2 Line Out Right 3 Headphone Left 4 Line Out Left 5 Headphone GND 6 Audio GND 7 Audio GND 8 Line In Right 9 Microphone 10 Line In Left Serial Configuration The DuraCOR 310 has two integrated serial ports that are capable of RS232 RS422 and RS485 By default both of these seri...

Page 20: ...ff state until the user desires the unit to be powered on When Remote Off is enabled no power is delivered to the system Remote Off must be disabled in order for the system to draw power Warning The remote off signal will immediately power down the processor when it is asserted Make sure your system software is capable of handling hard power faults Implementing Remote Off To implement Remote Off u...

Page 21: ...pr 18 Page 21 of 51 Power Hold Up The DuraCOR 310 has the option of 50 ms hold up at 40W Hold up may be incorporated into the system without any size increase to the system Hold up is not a standard feature please contact your sales representative for system part numbers containing hold up ...

Page 22: ...out cable set CBL C31X 01 is available for purchase from Curtiss Wright to support lab or bench testing purposes A custom set of cables may be made specifically for the intended target system vehicle or craft refer to Chapter 5 on Connector Descriptions for connector pinouts and descriptions Power on Sequence To install the DuraCOR 310 follow these steps 1 Connect a power cable to port J1 on the D...

Page 23: ... 5479 Effective 26 Apr 18 Page 23 of 51 Baud 115200 8 data bits 1 stop bit No parity No flow control 5 Connect the HDMI port to a display and turn the display on if a display is desired 6 Connect all other desired interface devices keyboard mouse etc 7 Apply power ...

Page 24: ...l the configuration repositories which comprise Yocto Linux with board specific customizations 2 Setup the environment 3 Use the Yocto Linux build tool to execute the build which will a Download the required packages b Securely verify the integrity of the download c Build the packages for the target architecture d Assemble a rootfile system 4 Boot from TFTP and NFS 5 Partition the internal storage...

Page 25: ... directory to etc exports and start NFS server 4 Copy kernel from extracted rootfs image boot uImage smarc samx6i bin into TFTP server root directory var lib tfptboot or tftpboot depending on Linux distribution 5 Configure and start TFTP server 6 Copy an appropriate device tree table e g uImage imx6q smx6 lcd pcieswitch dtb into TFTP server root directory var lib tfptboot or tftpboot depending on ...

Page 26: ...t ip nfs_root var volatile tftpboot 2 Extract the rootfs images into both root directories a tar xf var volatile tftpboot smarc image core image sato smarc samx6i tar bz2 C var volatile r1 b tar xf var volatile tftpboot smarc image core image sato smarc samx6i tar bz2 C var volatile r2 3 Install the flattened device tree file a cp var volatile tftpboot smarc image uImage imx6q smx6 lcd pcieswitch ...

Page 27: ...DuraCOR 310 Chapter 4 Linux BSP MNL 0666 01 Rev A3 ECO 5479 Effective 26 Apr 18 Page 27 of 51 f reset At this point the system is configured with the BSP ...

Page 28: ...tacle Use Connector Designator of Pins Pin Size AWG Amphenol Glenair Jam Nut Receptacle Part Number Amphenol Glenair Mating Connector Part Number Power J1 3 22 28 2M801 033 07M5 3PA 801 033 07M5 3PA 2M801 008 16M5 3SA 801 008 16M5 3SA I O J2 55 22 28 2M801 033 07M16 55SA 801 033 07M16 55SA 2M801 008 16M16 55PA 801 008 16M16 55PA I O J3 55 22 28 2M801 033 07M16 55SB 801 033 07M16 55SB 2M801 008 16M...

Page 29: ... a column for the internal configurable I O connectors Example J2 Pin Signal Name Description Px Pin J2_1 CONFIGURABLE_IO_79 P7_14 Connector J2 pin 1 is a configurable I O which is internally attached to connector P7 pin 14 See Configurable I O Internal Connectors section below for location and part numbers J1 Power Connector Figure 11 DuraCOR 310 J1 Front Pinout Table 5 J1 Connector Information R...

Page 30: ...ts Figure 12 DuraCOR 310 J2 Front Pinout Table 7 J2 Connector Information Receptacle Use Receptacle Label of Pins Pin Size AWG Amphenol Glenair Jam Nut Receptacle Part Number Amphenol Glenair Mating Connector Part Number I O J2 55 22 28 2M801 033 07M16 55SA 801 033 07M16 55SA 2M801 008 16M16 55PA 801 008 16M16 55PA Table 8 J2 Pinout J2 Pin Signal Name Description Px Pin J2 Pin Signal Name Descript...

Page 31: ...41 GBE_PORT2_C_P GE2 J2_14 CONFIGURABLE_IO_74 P7_9 J2_42 CONFIGURABLE_IO_68 P7_3 J2_15 USB_3_PWR USB 3 J2_43 SYSTEM_GND J2_16 USB_1_P USB 1 J2_44 SYSTEM_GND USB 2 GND J2_17 GBE_CPU_C_P GE1 J2_45 USB_2_PWR USB 2 J2_18 GBE_CPU_B_N GE1 J2_46 USB_2_N USB 2 J2_19 GBE_CPU_A_P GE1 J2_47 GBE_PORT2_A_N GE2 J2_20 CONFIGURABLE_IO_73 P7_8 J2_48 GBE_PORT2_A_P GE2 J2_21 CONFIGURABLE_IO_72 P7_7 J2_49 CONFIGURABL...

Page 32: ...le 9 J3 Connector Information Receptacle Use Receptacle Label of Pins Wire Gauge AWG Amphenol Glenair Jam Nut Receptacle Part Number Amphenol Glenair Mating Connector Part Number I O J3 55 22 28 2M801 033 07M16 55SB 801 033 07M16 55SB 2M801 008 16M16 55PB 801 008 16M16 55PB Table 10 J3 Pinout J3 Pin Signal Name Description J3 Pin Signal Name Description Px Pin J3_1 SYSTEM_GND HDMI CLK GND J3_29 RS...

Page 33: ...D RS232_1 GND RS485_1 GND RS232_1 GND J3_43 CONFIGURABLE_IO_57 P6_13 J3_16 RS485_TX1_P RS232_1 TX RS485_1 RS232_1 J3_44 CAN1_GND CAN 1 J3_17 HDMI_D1_P HDMI J3_45 CAN1_N CAN 1 J3_18 SYSTEM_GND HDMI D1 GND J3_46 CAN1_P CAN 1 J3_19 SYSTEM_GND HDMI D2 GND J3_47 CONFIGURABLE_IO_65 P6_20 J3_20 HDMI_SDA HDMI J3_48 CONFIGURABLE_IO_64 P6_18 J3_21 GPIO6 J3_49 CONFIGURABLE_IO_62 P6_14 J3_22 RS485_RX1_P RS232...

Page 34: ...eptacle Use Receptacle Label of Pins Wire Gauge AWG Amphenol Glenair Jam Nut Receptacle Part Number Amphenol Glenair Mating Connector Part Number Configurable I O J4 55 22 28 2M801 033 07M16 55SC 801 033 07M16 55SC 2M801 008 16M16 55PC 801 008 16M16 55PC Table 12 J4 Pinout J4 Pin Signal Name Px Pin J4 Pin Signal Name Px Pin J4_1 CONFIGURABLE_IO_1 P4_5 J4_29 CONFIGURABLE_IO_29 P4_22 J4_2 CONFIGURAB...

Page 35: ...E_IO_42 P5_15 J4_15 CONFIGURABLE_IO_15 P4_21 J4_43 CONFIGURABLE_IO_43 P5_3 J4_16 CONFIGURABLE_IO_16 P4_2 J4_44 CONFIGURABLE_IO_44 P4_30 J4_17 CONFIGURABLE_IO_17 P5_22 J4_45 CONFIGURABLE_IO_45 P4_16 J4_18 CONFIGURABLE_IO_18 P5_25 J4_46 CONFIGURABLE_IO_46 P4_18 J4_19 CONFIGURABLE_IO_19 P5_10 J4_47 CONFIGURABLE_IO_47 P5_6 J4_20 CONFIGURABLE_IO_20 P5_2 J4_48 CONFIGURABLE_IO_48 P5_13 J4_21 CONFIGURABLE...

Page 36: ...gure 15 P2 Audio Connector Figure 16 P4 P6 Configurable I O Table 13 Configurable I O Internal Connector Part Numbers Connector Location Manufacturer Connector Mating Connector P2 Molex 5011902017 5011892010 P4 Molex 5011903017 5011893010 P5 Molex 5011903017 5011893010 P6 Molex 5011902017 5011892010 P7 Molex 5011902017 5011892010 P2 P4 P5 P6 P7 ...

Page 37: ...ble set with the IO broken out to commercial connectors for a base DuraCOR 310 is available for purchase Figure 17 CBL C31X 01 Starter Cable Set Table 14 CBL C31X 01 CW Part Number Description CBL 2677 01 C31X Lab Power Cable J1 6ft CBL 2678 01 C31X Lab Cable USB ETH Remote On Off etc J2 6ft CBL 2679 01 C31X Lab Cable HDMI COM CAN GPIO J3 6ft ...

Page 38: ...vices available for turnkey solutions Pre integrated I O configurations by special order i e 1553 ARINC 429 more serial USB Ethernet ports Target Applications Civil and military tactical mission processing server computer in ground vehicle fixed wing or rotary aircraft maritime vessels outdoor underground other demanding embedded computing platforms Extending energy efficient high performance mult...

Page 39: ... Mini PCIe modules CANbus 2x CANbus ports non isolated Optional additional ports via Mini PCIe cards Related Products DuraCOR 311 miniature quad core Intel Atom mission processor DuraNET 20 11 miniature 8 port GbE switch DuraDBH 672 combined quad core ARM processor 16 port GbE switch Mechanical Specifications Physical Weight 1 5 lbs Installation Base flange mounting feet Connectors Amphenol 2M801 ...

Page 40: ...DuraCOR 310 Chapter 6 Specifications Page 40 of 51 MNL 0666 01 Rev A3 ECO 5479 Effective 26 Apr 18 Figure 18 DuraCOR 310 Top View Dimensions Figure 19 DuraCOR 310 Front View Dimensions ...

Page 41: ...ure 20 DuraCOR 310 Side View Dimensions Optional removable SSD SATA Dimensions HxDxW 2 14 x 5 19 x 5 36 5 44 cm x 13 18 cm x 13 61 cm excluding connectors and mounting features Figure 21 DuraCOR 310 with Removable SATA SSD Option Front View Figure 22 DuraCOR 310 with Removable SATA SSD Option Side View ...

Page 42: ...D compliant steady sate voltage ripple surges spikes Power consumption estimated 10 W Environmental Specifications The DuraCOR 310 will be qualified to MIL STD 810G DO 160G Temperature Operating Temperature 40 C to 71 C 40 F to 160 F Storage Temperature 55ºC to 85ºC 67ºF to 185ºF Shock Vibration Operating Shock 40g 11ms 3 pos neg per axis total 18 terminal peak sawtooth pulses Crash Hazard Shock 7...

Page 43: ...RF Emissions 100 MHz to 6 GHz Category L Figure 21 7 Radiated Susceptibility MIL STD 461F RS103 Electric Field 2 MHz to 18 GHz 200V m Table VII RS103 limits DO 160G Sec 20 Radiated Susceptibility 100 MHz to 8 GHz Category R Figure 20 10 Operating Conditions Humidity Up to 95 RH 65C Non Condensing Conformal Coated Water Immersion 1 Meter Submersion 30 Minutes Similar to IP67 Dust Ingress Designed f...

Page 44: ...f 51 MNL 0666 01 Rev A3 ECO 5479 Effective 26 Apr 18 Export Jurisdiction ITAR free U S Commerce Export Administration Regulations EAR controlled CE Marking The DuraCOR 310 meets the requirements of the applicable directives for European Conformity ...

Page 45: ... curtisswright com Phone 1 801 433 6322 Fax 1 801 483 1523 Returning for Service Before returning any Parvus product please fill out a Return Material Authorization RMA request form available for download from the following website under the support section www curtisswrightds com Email this form to the Technical Support email address slp_tsupport curtisswright com to receive authorization for shi...

Page 46: ...Curtiss Wright Defense Solutions Division 3222 S Washington St Salt Lake City Utah USA 84115 T 1 801 483 1533 F 1 801 483 1523 www curtisswrightds com Sales T 1 800 483 3152 or 1 801 483 1533 slp_sales curtisswright com Product Technical Support T 1 801 433 6322 slp_tsupport curtisswright com Customer Feedback slp_feedback curtisswright com ...

Page 47: ...re defined by the protocol buffer spec which is available as part of the customer releasable source for the project See SFT 0671 05 Protocol Buffers Protocol buffers are a standardized cross platform serialization protocol initially developed by Google They are designed to be light weight while maintaining backward compatibility as the protocol evolves over the life of the project To learn more ab...

Page 48: ...orts are configured in a similar way to how BIT is statused To configure or query the serial configuration send a Message with the has_serial_config field asserted and the serial_config do_config set dependent on whether a read or write operation is desired Encode the message as described above The protocol definition and example code is available in the embedded zip above ...

Page 49: ...ion GPIO The C31x provides GPIO via USB to ensure maximum compatibility across multiple operating systems The chip which provides GPIO is an FTDI FT4232h which is a multi function quad USB to serial chip capable of many protocols GPIO Is connected via interface B and is configurable using libFTDI Figure 24 GPIO Connection to CPU ...

Page 50: ...ar argv struct mpsse_context ctx ctx Open 0x0403 FTDI_DID BITBANG 0 0 FTDI_INTERFACE NULL NULL Set direction of GPIO SetDirection ctx 0x15 Write the value all outputs high in this case WritePins ctx 0x15 usleep 100000 printf Read x n ReadPins ctx Close ctx return 0 Building Example Code The above code depends on the following three libraries 1 libUSB 2 libFTDI 3 libMPSSE Once each of those are ins...

Page 51: ...t to add I O without increasing the size of the system The base unit supports up to three Mini PCIe I O cards Available I O on mini PCIe form factor include Gigabit Ethernet MIL STD 1553 ARINC 429 CAN Bus Frame Grabbers GPS Wi Fi serial ports analog digital data acquisition cards GPIO etc Mini PCIe I O Socket J2 J3 Connector on Parvus Carrier board This socket can be used to hold a Mini PCIe I O C...

Reviews: