Added barcode scanning

And a bunch of other stuff that I can't remember