implementation of the interpreter