feature: implemented to_xml