implemented delete (not children) and update; subtype support