added isReady hook