async get refactor