allow overriding of reduce & group