abstraction for hogwild mess