added barcode handler