Framework for the interpreter