updated the rules system and added more rules