Claims concerning the maintainability of object oriented software usually refer to encapsulation and inheritance mechanisms. However, if objects are perceived only from the code level, potentials for higher level maintenance operations are missed. Instead, classical maintenance destroys the relationship that once existed between specification and implementation. We present an approach supporting object evolution by specification evolution such that for a substantial class of changes, the ensuing changes in the implementation can either be automatically performed or the complience with the new overall specification can be assured by automatically generated, well focussed test suits.