the rules and unit testing