added return values for lexer