adapt to dsoa metamodel