added barcode scan