- remove unused/redundant classes and simplify the inheritance structure - remove type-specific Measure, Encode, etc. and leave only type-specific version to ensure consistency