Add delete function & dependent destroy