interpreter, fixed some bugs