annotations and async fix