add whenReady