avoid calling nil block