Why not implement it using PetscObjectQuery()/PetscObjectCompose()? and not have to introduce a whole new datatype DMNamedVecLink linked list and other crap? Code reuse is a good thing. Barry