change to meet the requirement of DValueDeclare