Modeling with free form features has become the standard in Computer-Aided Design (CAD). With the increasing complexity of free form CAD models, features offer a high-level approach to modeling shapes. However, in most commercial modeling packages, only a static set of free form features is available. Researchers have tried to solve this problem by coming up with methods for user-driven free form feature definition, but failed to connect their methods to a means to instantiate these user-driven free form features on a target surface. Reversely, researchers have proposed tools for modeling with free form features, but these methods are time-intensive in that they are as of yet unsuitable for pre-defined features. This paper presents a new method for user-driven feature definition, as well as a method to instantiate these user-defined features on a target surface. We propose the concept of a dual environment, in which the definition of a feature is maintained simultaneously with its instance on a target surface, allowing the user to modify the definition of an already instantiated feature. This dual environment enables dynamic feature modeling, in which the user is able to change the definition of instantiated features on-the-fly. Furthermore, the proposed instantiation method is independent from the type of shape representation of the target surface and thereby increases the applicability of the method. The paper includes an extensive application example and discusses the results and shortcomings of the proposed methods.