refactored to move parsing and evaling into file seperate from repl