rule refactor