update new new/free behaviour