support animation and destroy