If i understand right this function call only once? if not yes we can try to release old value just before assigning new