add a master serializer to make it easier to support multiple formats