all variable code should work, need to fix lexer