reorg async load code