modifying rules
working on recursive rules