move rule save into #collectMain