public preview
feature: add (de)serialization support.