should this implement MovingAverage?