implicit traits to make working with map reduce nicer