refactoring: rule names + overloading