serialization: bullet-proof