changed lexer to take any file