added new rules and unit tests