refactoring
make rule-index intrusive