rename lexer to compiler
added parser layer