Refactored to convention-based rules loading