Refactoring for valid rule checking