rule factory, no longer breaking open/closed, tests adjusted