preparing for async refactoring