finalize(); todo deserialize_header()