added the recursive check to the other registration functions