add deallocation, doh