updated async operations with structures