customize serialization