feature: implemented to_h