evaluator and repl classes