A way better way to define the lexers