rule generation init