finish add collection function