A computer-implemented method for designing a three-dimensional, 3D, model in a history-free CAD system, comprising: - providing a first 3D model, the first 3D model being defined by a first data structure forming a generic feature independent of a feature type, the generic feature comprising: (i) one delegated data object that defines a feature type and to which the generic feature delegates its feature type, the delegated data object comprising an operator and input parameters specific to a type of the delegated data object; and (ii) an output topology computed by the generic feature by retrieving and executing the operator; and being associated with a sequence of geometric design operations; - performing, by a user, a first geometric design operation on the first 3D model, the first geometric design operation comprising a modification of at least one input parameter value of the first 3D model or a modification of the output topology of the first 3D model, thereby obtaining a second 3D model; - determining whether the output topology of the second 3D model can be retrieved from the output topology of the first 3D model, by determining topological stability between the output topology of the first 3D model and the output topology of the second 3D model, the first geometric operation being topologically stable when the topology of the first 3D model is unchanged as a result of the first geometric operation, each of the output topology of the first and second 3D models forming a base mesh, the determining of topological stability being performed by comparing the base mesh of the first 3D model with the base mesh of the second 3D model, a base mesh comprising the definition of a subdivision mesh and control points of subdivision mesh, the first geometric design operation being a user action on a control point of the base mesh; - replacing the first delegated data object by a second delegated data object if the output topology of the second 3D model cannot be retrieved from the output topology of the first 3D model or keeping the first delegated data object and storing the first geometric design operation with the sequence of geometric design operations associated the first 3D model. - providing a first 3D model, the first 3D model being defined by a first data structure forming a generic feature independent of a feature type, the generic feature comprising: (i) one delegated data object that defines a feature type and to which the generic feature delegates its feature type, the delegated data object comprising an operator and input parameters specific to a type of the delegated data object; and (ii) an output topology computed by the generic feature by retrieving and executing the operator; and being associated with a sequence of geometric design operations; (i) one delegated data object that defines a feature type and to which the generic feature delegates its feature type, the delegated data object comprising an operator and input parameters specific to a type of the delegated data object; and (ii) an output topology computed by the generic feature by retrieving and executing the operator; - performing, by a user, a first geometric design operation on the first 3D model, the first geometric design operation comprising a modification of at least one input parameter value of the first 3D model or a modification of the output topology of the first 3D model, thereby obtaining a second 3D model; - determining whether the output topology of the second 3D model can be retrieved from the output topology of the first 3D model, by determining topological stability between the output topology of the first 3D model and the output topology of the second 3D model, the first geometric operation being topologically stable when the topology of the first 3D model is unchanged as a result of the first geometric operation, each of the output topology of the first and second 3D models forming a base mesh, the determining of topological stability being performed by comparing the base mesh of the first 3D model with the base mesh of the second 3D model, a base mesh comprising the definition of a subdivision mesh and control points of subdivision mesh, the first geometric design operation being a user action on a control point of the base mesh; - replacing the first delegated data object by a second delegated data object if the output topology of the second 3D model cannot be retrieved from the output topology of the first 3D model or keeping the first delegated data object and storing the first geometric design operation with the sequence of geometric design operations associated the first 3D model.