multiple rules framework - unfinished