add implementation of control flow
implement environment and variables
fix to allow repl to work