Refactoring towards a clearly separated minimal set of primitives and user-definable operations.