Refactor out Interpreter