make the checks smarter