Add async support