fix(rules) custom rule have high priority than default rules

And fix rule increase every function call

Closes #18