experiment with promise for onCompleted