initial commit of lexer and variable classes