released allocation function