a small refactoring of async_load