more support for recursive Rule
WIP: refactor of map Rules