finish generate rule, finally