threaded interpreter