I lied. optimized lex scanner