make compileContext asynchronous