move all the check to one module.