Re factored, added abstract class for Rules
Build fixed