add blockDataAvailable method