Use async actions and prepare indexes
Use more async methods
Changed all methods to async