improve async dao