Start work on modularised lexer