preparing for async