speedup, unify rules