fixed the basic interpreter at last, and added a new and optimized advanced interpreter