Improved template method and rule class