fixed deallocation