lexer nearly working...