define works, refactor arithmetic operations into helper methods for code sharing, allow function calls on defined variables(not just literals) and with function calls as args, allow definition of variables with values set to function calls.
fix bug where end of file was being read as an ascii character, also cleaned up some code