avoid the double free