move id into the attributes
some docs
implement patching