fleshed out generic Measure