How does a bar code reader read a bar code and what does it do with the information?