removed IO from Interpreter
restructured a bit