add dealloc method