Page 1
NLS-FM30 Series Fixed Mount Barcode Scanner User Guide...
Page 2
All pictures in this manual are for reference only and actual product may differ. Regarding to the product modification and update, Fujian Newland Auto-ID Tech. Co., Ltd. reserves the right to make changes to any software or hardware to improve reliability, function, or design at any time without notice. The information contained herein is subject to change without prior notice.
Revision History Version Description Date V1.0 Initial release. April 14, 2016 Added the “Data Port Pinout” section in Chapter 6. V1.1 May 3, 2016 Changed the model number FM25/FM30 to FM3055/FM3050 V1.1.1 September 20, 2016 respectively. Added a new chapter – Chapter 9 Configuring the FM30 V1.2.0 February 7, 2017 Added the “Optics”...
Chapter 2 Optional Configuration 1. RS-232 cable 2. 5V power adapter You should retain proof of purchase and ask your dealer for a warranty card. Note: You should check to make sure that everything on the standard configuration list is present and intact after opening the package.
● Keep the scanner away from fire or heat sources. If there is unusual odor, overheating or smoke, immediately cut off the power and disconnect the power adapter, and contact your dealer or Newland customer service center. Continued use in this case may result in fire or electric shock.
Chapter 4 Product Features Designed primarily for such applications as electronic tickets/coupons, mobile marketing and office automation, FM30 series fixed mount barcode scanner is able to read barcodes from paper and mobile phones. It boasts the following features: 1. Digital barcode data capture Capable of reading 1D and 2D barcodes off mobile phones.
Data Port Pinout Definition Type Description Not connected Not connected Power+ (+5V) RS-232 Output RS-232 Input Not connected Not connected Ground USB signal...
Dimensions FM3055 Scanner Note: M2 self-tapping screws should be used when mounting the scanner. The part of the screws into the shell of the scanner cannot exceed 7.5mm.
FM3050 Scanner Note: M2 self-tapping screws should be used when mounting the scanner. The part of the screws into the shell of the scanner cannot exceed 7.5mm.
Chapter 7 Wiring 1. If your scanner is equipped with an RS-232 interface: 1) Plug the supplied cable’s RJ45 connector into the data port on the scanner. 2) Plug the cable’s RS-232 connector into the RS-232 port on PC. 3) Plug the power adapter into the cable’s power jack. ③...
Page 21
2. If your scanner is equipped with a USB interface: 1) Plug the supplied cable’s RJ45 connector into the data port on the scanner. 2) Plug the cable’s USB connector into the USB port on PC. ② ① 3) After 0.5s the scanner will be powered on with a beep.
Chapter 8 Scanning Instructions Reading a Digital Barcode off Mobile Phone 1. Place the mobile phone screen close to the scan window and present the barcode to the center of the window, adjusting the distance between them within the range of 1cm-5cm. 2.
Chapter 9 Configuring the FM30 There are two ways to configure the scanner: barcode programming and command programming. Barcode Programming The FM30 can be configured by scanning programming barcodes. All user programmable features/options are described along with their programming barcodes/commands in the following chapters.
Page 24
Types : 0x07 Lens : 0x01 Address: 0x0000~0x00FF, starting register address. Datas : 0x00~0xFF, number of registers to be read. When Datas=0x00, 256 contiguous registers are to be read. : CRC-CCITT checksum, 2 bytes. Computation sequence: Types+ Lens+Address+Datas; polynomial: X +1 (0x1021), initial value: 0x0000.
Page 25
Reply: {Prefix2} {Types} {Lens} {Datas} {FCS} 1) Success message: Prefix2 : 0x02 0x00 Types : 0x00 (success) Lens : The number of data returned. If Lens=0x00, that means values of 256 contiguous registers are returned. Datas : 0x00~0xFF, data that are returned. : CRC-CCITT checksum.
Write Register The write command is used to write contiguous registers (1 to 256 registers) in the scanner. Syntax: {Prefix1} {Types} {Lens} {Address} {Datas} {FCS} Prefix1 : 0x7E 0x00 (2 bytes) Types : 0x08 (1 byte) Lens : 0x00~0xFF (1 byte), byte count, i.e. number of registers written. When Lens=0x00, 256 contiguous registers are to be written.
Page 28
unsigned int crc_cal_by_bit(unsigned char* ptr, unsigned int len) unsigned int crc = 0; while(len-- != 0) for(unsigned char i = 0x80; i != 0; i /= 2) crc *= 2; if((crc&0x10000) !=0) crc ^= 0x11021; if((*ptr&i) != 0) crc ^= 0x1021; ptr++;...
Save Register Data in EEPROM The save command is used to save register data into an external EEPROM. Syntax: {Prefix1} {Types} {Lens} {Address} {Datas} {FCS} Prefix1 : 0x7E 0x00 Types : 0x09 Lens : 0x01 Address: 0x0000 Datas : 0x00 : CRC-CCITT checksum (0xDE 0xC8) Reply: {Prefix2} {Types} {Lens} {Datas} {FCS} 1) Success message:...
Relationship between Programming Command and Serial Command 1. Program general parameter with serial command A programming command (i.e. the characters under programming barcode) contains 7 characters. The function of each character is described in the table below. 1st Char 2nd Char ~3rd Char 4th Char~5th Char 6th Char~7th Char Remark BITPOSITION ADDR...
Page 34
Step 2: Calculate the value written to the register. Datas = (0xD4 & (! 0x03)) + 0x02 = 0xD6 Step 3: Write the value into the register. serial command sent : 0x7E 0x00 0x08 0x01 0x00 0x00 0xD6 0xDF 0x22 reply received : 0x02 0x00 0x00 0x01 0x00 0x33 0x31...
Registers 0x0000 Register Feature Bit 7 1: Good read LED on 0: Good read LED off Bit 6 1: Disable the mute mode 0: Enable the mute mode Aiming: Bit 5-4 00: OFF 01: Normal 10/11: Always ON Illumination: Bit 3-2 00: OFF 01: Normal 10/11: Always ON...
Page 36
Register 0x0009 Feature Good Read Beep Frequency Bit 7-0 0xDA: Low 0x4B: Medium 0x25: High Register 0x000A Feature Good Read Beep Duration Bit 7-0 0x1F: 40ms 0x3E: 80ms 0x5D: 120ms 0x000C Register Feature Bit 7-4 Reserved Bit 3 1: Enable Data Matrix 0: Disable Data Matrix Bit 2 1: Enable 1D symbologies...
Page 37
0x0010 Register Feature Bit 7-5 Reserved 00: Disable AIM ID prefix for 1D symbologies Bit 4-3 01: Allow to enable/disable AIM ID prefix for individual 1D symbology 10/11: Enable AIM ID prefix for 1D symbologies Bit 2-0 Reserved Register 0x0011 Feature 1: Enable AIM ID prefix for ISSN 0: Disable AIM ID prefix for ISSN...
Page 38
Register 0x0013 Feature Bit 7 Reserved Bit 6 1: Enable EAN-8 zero extend 0: Disable EAN-8 zero extend Bit 5 1: Enable EAN-8 5-digit add-on code 0: Disable EAN-8 5-digit add-on code Bit 4 1: Enable EAN-8 2-digit add-on code 0: Disable EAN-8 2-digit add-on code Bit 3 1: EAN-8 add-on code required...
Page 39
Register 0x0016 Feature 1: Transmit AIM 128 check digit in the format of “~nnn” (nnn: ASCII decimal value of check digit) Bit 7 0: Do not transmit AIM 128 check digit 1: FNC1 character in AIM 128 transmitted as “~” (ASCII value: 126) Bit 6 0: FNC1 character in AIM 128 transmitted as GS (ASCII value: 29) 1: Enable AIM ID prefix for AIM 128...
Page 40
Register 0x0018 Feature Bit 7 1: Transmit ITF-14 check digit 0: Do not transmit ITF-14 check digit 1: Enable AIM ID prefix for ITF-14 0: Disable AIM ID prefix for ITF-14 Bit 6 Note: Bit4 and Bit3 of register 0x0010 must be set to “01” in order for this parameter to function. Bit 5 1: Enable ITF-14 0: Disable ITF-14...
Page 41
Register 0x001A Feature 1: Transmit Standard 2 of 5 check digit 0: Do not transmit Standard 2 of 5 check digit Bit 7 Note: Standard 2 of 5 check digit must be enabled for this parameter to function. Bit 6 1: Enable Standard 2 of 5 check digit 0: Disable Standard 2 of 5 check digit 1: Enable AIM ID prefix for Standard 2 of 5...
Page 42
Register 0x001C Feature Bit 7-6 Reserved Bit 5 1: Enable Code 39 Full ASCII 0: Disable Code 39 Full ASCII 1: Transmit Code 39 check digit 0: Do not transmit Code 39 check digit Bit 4 Note: Code 39 check digit must be enabled for this parameter to function. Bit 3 1: Enable Code 39 check digit 0: Disable Code 39 check digit...
Page 43
Register 0x001E Feature Bit 7-6 Reserved 1: Transmit Codabar check digit 0: Do not transmit Codabar check digit Bit 5 Note: Codabar check digit verification must be enabled for this parameter to function. Bit 4 1: Enable Codabar check digit 0: Disable Codabar check digit Codabar Start/Stop Character Format: Bit 3-2...
Page 44
0x0020 Register Feature Bit 7-3 Reserved 1: Enable AIM ID prefix for MSI-Plessey 0: Disable AIM ID prefix for MSI-Plessey Bit 2 Note: Bit4 and Bit3 of register 0x0010 must be set to “01” in order for this parameter to function. 1: Enable AIM ID prefix for Plessey 0: Disable AIM ID prefix for Plessey Bit 1...
Page 45
0x004B Register Feature Bit 7-2 Reserved Bit 1-0 11: Decode rectangular Data Matrix 00: Do not decode rectangular Data Matrix Register 0x0060 Feature Bit 7 Reserved Terminating Character Suffix: Bit 6-5 00/11: CR (0x0D) 01: CRLF (0x0D,0x0A) 10: TAB (0x09) Bit 4 Reserved Bit 3...
Page 46
0x006F Register Feature Inter-keystroke delay Bit 7-6 00: No delay 01: Short delay (5ms) 10: Medium delay (10ms) 11: Long delay (15ms) Convert case Bit 5-4 00: No case conversion 10: Convert All to Upper Case 11: Convert All to Lower Case Bit 3 Reserved Bit 2...
Chapter 10 System Settings Illumination Always ON: Illumination LED keeps ON after the scanner is powered on. Normal: Illumination LED is turned on when the scanner is reading barcode. OFF: Illumination LED is OFF all the time. ** Normal Always ON...
Notification Mute Mode Scanning the Enable Mute Mode/Disable Mute Mode can turn off/on all notification beeps. Enable Mute Mode ** Disable Mute Mode Good Read Beep ** Good Read Beep On Good Read Beep Off...
Scan Mode Sense Mode IR trigger: The scanner activates a decode session every time when it detects a barcode presented to it. This feature is always enabled. Light trigger: The scanner activates a decode session every time when it detects a change in ambient illumination.
Save/Cancel Barcodes After reading numeric barcode(s), you need to scan the Save barcode to save the data. If you scan the wrong digit(s), you can either scan the Cancel the Last Digit barcode and then the correct digit, or scan the Cancel All Digits barcode and then the digits you want.
Chapter 11 RS-232 Interface When the scanner is connected to a host device through its RS-232 interface, serial communication is enabled by default. However, to ensure smooth communication and accuracy of data, you need to set the scanner’s communication parameters (including baud rate) to match the host’s settings. The default settings of the scanner are 115200bps, no parity check, 8 data bits and 1 stop bit.
Chapter 12 USB Interface When the scanner is connected to a host device through its USB interface, USB HID-KBW is enabled by default. You may switch to HID-POS or USB COM Port Emulation by scanning the appropriate barcode below. HID-POS HID-POS USB COM Port Emulation USB COM Port Emulation...
Three methods of input are provided for USB HID-KBW: Standard Keyboard, Function Key Mapping, Emulate ALT+Keypad. Standard Keyboard ** Standard Keyboard Function Key Mapping When Function Key Mapping is enabled, function character (0x00 - 0x1F) are sent as ASCII sequences over the numeric keypad.
Page 57
ASCII Function Key Mapping Table ASCII(HEX) Function key ASCII(HEX) Function key...
Emulate ALT+Keypad When Emulate ALT+Keypad is enabled, any ASCII character (0x00 - 0xFF) is sent over the numeric keypad no matter which keyboard type is selected. 1. ALT Make 2. Enter the number corresponding to the ASCII character on the keypad. 3.
Chapter 13 Symbologies Introduction Every symbology (barcode type) has its own unique attributes. This chapter provides programming barcodes for configuring the scanner so that it can identify various barcode symbologies. It is recommended to disable those that are rarely used to increase the efficiency of the scanner. Global Settings Disable All Symbologies If all symbologies are disabled, the scanner can only identify programming barcodes.
EAN-8 Restore Factory Defaults Restore the Factory Defaults of EAN-8 Enable/Disable EAN-8 ** Enable EAN-8 Disable EAN-8 Transmit Check Digit EAN-8 is 8 digits in length with the last one as its check digit used to verify the integrity of the data. ** Transmit Check Digit Do Not Transmit Check Digit...
2-Digit Add-On Code An EAN-8 barcode can be augmented with a two-digit add-on code to form a new one. In the examples below, the part surrounded by blue dotted line is an EAN-8 barcode while the part circled by red dotted line is add-on code.
EAN-8 Extension Disable EAN-8 Zero Extend: Transmit EAN-8 barcodes as is. Enable EAN-8 Zero Extend: Add five leading zeros to decoded EAN-8 barcodes to extend to13 digits. ** Disable EAN-8 Zero Extend Enable EAN-8 Zero Extend...
EAN-13 Restore Factory Defaults Restore the Factory Defaults of EAN-13 Enable/Disable EAN-13 ** Enable EAN-13 Disable EAN-13 Transmit Check Digit EAN-13 is 13 digits in length with the last one as its check digit used to verify the integrity of the data. ** Transmit Check Digit Do Not Transmit Check Digit...
2-Digit Add-On Code An EAN-13 barcode can be augmented with a two-digit add-on code to form a new one. In the examples below, the part surrounded by blue dotted line is an EAN-8 barcode while the part circled by red dotted line is add-on code.
ISBN Restore Factory Defaults Restore the Factory Defaults of ISBN Enable/Disable ISBN ** Enable ISBN Disable ISBN Set ISBN Format ** ISBN-13 ISBN-10...
UPC-E Restore Factory Defaults Restore the Factory Defaults of UPC-E Enable/Disable UPC-E ** Enable UPC-E Disable UPC-E Transmit Check Digit UPC-E is 8 digits in length with the last one as its check digit used to verify the integrity of the data. ** Transmit Check Digit Do Not Transmit Check Digit...
2-Digit Add-On Code A UPC-E barcode can be augmented with a two-digit add-on code to form a new one. In the examples below, the part surrounded by blue dotted line is a UPC-E barcode while the part circled by red dotted line is add-on code.
Transmit System Character Transmit System Character “0” ** Do Not Transmit System Character “0” UPC-E Extension Disable UPC-E Extend: Transmit UPC-E barcodes as is. Enable UPC-E Extend: Extend UPC-E barcodes to make them compatible in length to UPC-A. Enable UPC-E Extend ** Disable UPC-E Extend...
UPC-A Restore Factory Defaults Restore the Factory Defaults of UPC-A Enable/Disable UPC-A ** Enable UPC-A Disable UPC-A Transmit Check Digit UPC-A is 13 digits in length with the last one as its check digit used to verify the integrity of the data. ** Transmit Check Digit Do Not Transmit Check Digit...
2-Digit Add-On Code A UPC-A barcode can be augmented with a two-digit add-on code to form a new one. In the examples below, the part surrounded by blue dotted line is a UPC-E barcode while the part circled by red dotted line is add-on code.
Transmit Preamble Character Preamble characters (Country Code and System Character) can be transmitted as part of a UPC-A barcode. Select one of the following options for transmitting UPC-A preamble to the host device: transmit system character only or transmit system character and country code (“0” for USA). System Character &...
Interleaved 2 of 5 Restore Factory Defaults Restore the Factory Defaults of Interleaved 2 of 5 Enable/Disable Interleaved 2 of 5 ** Enable Interleaved 2 of 5 Disable Interleaved 2 of 5...
Check Digit Verification A check digit is optional for Interleaved 2 of 5 and can be added as the last digit. It is a calculated value used to verify the integrity of the data. Disable: The scanner transmits Interleaved 2 of 5 barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Interleaved 2 of 5 barcodes to verify that the data complies with the check digit algorithm.
ITF-6 Restore Factory Defaults Restore the Factory Defaults of ITF-6 Enable/Disable ITF-6 ** Disable ITF-6 Enable ITF-6 But Do Not Transmit Check Digit Enable ITF-6 and Transmit Check Digit...
ITF-14 Restore Factory Defaults Restore the Factory Defaults of ITF-14 Enable/Disable ITF-14 Disable ITF-14 Enable ITF-14 But Do Not Transmit Check Digit Enable ITF-14 and Transmit Check Digit...
Matrix 2 of 5 (European Matrix 2 of 5) Restore Factory Defaults Restore the Factory Defaults of Matrix 2 of 5 Enable/Disable Matrix 2 of 5 ** Enable Matrix 2 of 5 Disable Matrix 2 of 5...
Check Digit Verification A check digit is optional for Matrix 2 of 5 and can be added as the last digit. It is a calculated value used to verify the integrity of the data. Disable: The scanner transmits Matrix 2 of 5 barcodes as is. Do Not Transmit Check Digit After Verification: The scanner checks the integrity of all Matrix 2 of 5 barcodes to verify that the data complies with the check digit algorithm.
Check Digit Verification A check digit is optional for Industrial 25 and can be added as the last digit. It is a calculated value used to verify the integrity of the data. Disable: The scanner transmits Industrial 25 barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Industrial 25 barcodes to verify that the data complies with the check digit algorithm.
Standard 25 Restore Factory Defaults Restore the Factory Defaults of Standard 25 Enable/Disable Standard 25 ** Enable Standard 25 Disable Standard 25...
Check Digit Verification A check digit is optional for Standard 25 and can be added as the last digit. It is a calculated value used to verify the integrity of the data. Disable: The scanner transmits Standard 25 barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Standard 25 barcodes to verify that the data complies with the check digit algorithm.
Code 39 Restore Factory Defaults Restore the Factory Defaults of Code 39 Enable/Disable Code 39 ** Enable Code 39 Disable Code 39 Transmit Start/Stop Character Code 39 uses an asterisk (*) for both the start and the stop characters. You can choose whether or not to transmit the start/stop characters by scanning the appropriate barcode below.
Enable/Disable Code 39 Full ASCII The scanner can be configured to identify all ASCII characters by scanning the appropriate barcode below. ** Disable Code 39 Full ASCII Enable Code 39 Full ASCII...
Check Digit Verification A check digit is optional for Code 39 and can be added as the last digit. It is a calculated value used to verify the integrity of the data. Disable: The scanner transmits Code 39 barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Code 39 barcodes to verify that the data complies with the check digit algorithm.
Check Digit Verification Check digits are optional for Codabar and can be added as the last two digits, which are calculated values used to verify the integrity of the data. Disable: The scanner transmits Codabar barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Codabar barcodes to verify that the data complies with the check digit algorithm.
Transmit Start/Stop Character Do Not Transmit Start/Stop Character Transmit Start/Stop Character ** ABCD/ABCD as the Start/Stop Character ABCD/TN*E as the Start/Stop Character abcd/abcd as the Start/Stop Character abcd/tn*e as the Start/Stop Character...
Check Digit Verification Check digits are optional for Code 93 and can be added as the last two digits, which are calculated values used to verify the integrity of the data. Disable: The scanner transmits Code 93 barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Code 93 barcodes to verify that the data complies with the check digit algorithm.
Check Digit Verification Check digits are optional for Code 11 and can be added as the last one or two digits, which are calculated values used to verify the integrity of the data. If the Disable option is enabled, the scanner transmits Code 11 barcodes as is. Disable ** One Check Digit, MOD11 Two Check Digits, MOD11/MOD11...
Check Digit Verification Check digits are optional for Plessey and can be added as the last one or two digits, which are calculated values used to verify the integrity of the data. Disable: The scanner transmits Plessey barcodes as is. Do Not Transmit Check Digit after Verification: The scanner checks the integrity of all Plessey barcodes to verify that the data complies with the check digit algorithm.
Check Digit Verification Check digits are optional for MSI-Plessey and can be added as the last one or two digits, which are calculated values used to verify the integrity of the data. If the Disable option is enabled, the scanner transmits MSI-Plessey barcodes as is. Disable ** One Check Digit, MOD10 Two Check Digits, MOD10/MOD10...
Data Matrix Restore Factory Defaults Restore the Factory Defaults of Data Matrix Enable/Disable Data Matrix ** Enable Data Matrix Disable Data Matrix Enable/Disable Mirrored DM Enable Mirrored DM ** Disable Mirrored DM...
Rectangular Barcodes Data Matrix has two formats: Square barcodes having the same amount of modules in length and width: 10*10, 12*12..144*144. Rectangular barcodes having different amounts of models in length and width: 6*16, 6*14... 14*22. ** Decode Rectangular Barcodes Do Not Decode Rectangular Barcodes...
QR Code Restore Factory Defaults Restore the Factory Defaults of QR Code Enable/Disable QR Code ** Enable QR Code Disable QR Code Micro QR This parameter is valid only when QR Code is enabled. ** Enable Micro QR Disable Micro QR...
Chapter 14 Prefix & Suffix AIM ID Prefix AIM (Automatic Identification Manufacturers) IDs define symbology identifiers and data carrier identifiers. For the details, see the AIM ID Table. If AIM ID prefix is enabled, the scanner will add the symbology identifier before the scanned data after decoding.
Page 112
AIM ID Table Symbology AIM ID Remark Code 128 Standard Code 128 UCC/EAN 128 FNC1 is the character right after the start character (GS1-128) AIM 128 FNC1 is the 2nd character after the start character Standard EAN-8 EAN-8 ]E4….]E1… EAN-8 + 2-Digit Add-On Code ]E4….]E2…...
Page 113
Symbology AIM ID Remark Transmit barcodes as is; Full ASCII disabled; no check digit verification One check digit, MOD 43; transmit check digit One check digit, MOD 43; do not transmit check digit Code 39 Full ASCII enabled; no check digit verification Full ASCII enabled;...
Page 114
Symbology AIM ID Remark ECC 200; FNC1 is the 2nd or 6th character after the start character ECC 200, ECI protocol supported ECC 200; FNC1 is the 1st or 5th character after the start character; ECI supported ECC 200; FNC1 is the 2nd or 6th character after the start character;...
CODE ID Prefix Code ID can also be used to identify barcode type. For the details, see the CODE ID Table. ** Disable CODE ID Prefix Enable CODE ID Prefix You can choose to transmit original CODE ID or visible CODE ID by scanning the appropriate barcode below.
Page 116
CODE ID Table Symbology Original Code ID Visible Code ID Code 128 FNC3 0x01 A(0x41) Code 128 0x02 B(0x42) UCC/EAN 128 0x03 C(0x43) EAN-8 0x04 D(0x44) EAN-13 0x05 E(0x45) UPC-E 0x06 F(0x46) UPC-A 0x07 G(0x47) Interleaved 2 of 5 0x08 H(0x48) ITF-14 0x09...
Terminating Character Suffix A terminating character such as carriage return (CR) or carriage return/line feed pair (CRLF) or horizontal tab (TAB) can be used to mark the end of data. Disable Terminating Character Suffix Append CR ** Append CRLF Append TAB...
Chapter 15 Troubleshooting Problem Solution Does not respond to input. Disconnect the power adapter and then reconnect it. Scanned data is not Ensure the scanner’s communication parameters (such as baud rate, interface) displayed on the host. match the host’s settings. 1.
Page 119
Headquarters Fujian Newland Auto-ID Tech. Co., Ltd. 3F, Building A, No.1, Rujiang West Rd., Mawei, Fuzhou, Fujian, China 350015 TEL: +86 - (0) 591-83978605 FAX: +86 - (0) 591-83979216 E-mail: marketing@nlscan.com WEB: www.newlandaidc.com Newland Europe BV Rolweg 25, 4104 AV Culemborg, The Netherlands...
Need help?
Do you have a question about the NLS-FM30 Series and is the answer not in the manual?
Questions and answers