smart checks: reengineered both checks