turn the lexer into a module