implement capturing and decoding barcodes