finished implementation of the lexer and tested it. looks good for now