implement destroy ic