improved checking behavior