counter and measure abstraction