Modeling with freeform features has become the standard in computer-aided design. Features offer a high-level approach to modeling shapes. However, in most commercial modeling packages, only a static set of freeform features is available. A new method for user-driven feature definition is presented, 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 parallel to its instance on a target surface. This dual environment enables dynamic feature modeling, in which the user is able to change the definition of instantiated features on-the-fly.