added rule and unit test