lexer modified and tests added