make onComplete() async capable
1.2.1