improved Json.NET serializer