Implement all rules