Rework some of the interpreter.