add ConstructGeneral