A conceptual reengineering framework is presented that proposes extract, transform and rewrite as three characteristic steps to be performed within a reengineering cycle. The cycle is illustrated by an application example and a prototype tool for the C programming language. This tool supports its user in consistently renaming identifiers, in moving functions and in editing function comments. Then, the generalization of this approach into a metaCARE technology is sketched and ways of implementing a metaCARE tool are given.