added tests and began work on the token input stream