missed a check is drain callback exists