async compile