clarify onComplete