+deep free()