can extend, construct, and delete