added runInNewContext, runInThisContext