base inerpreter