written a basic lexer and tests.