new collate, collect, policy, apply structure