made Lexer it's own namespace