moved checks into the shared closure