more work on the interpreter