resume working
diff --git a/wally/ssh_utils.py b/wally/ssh_utils.py
index c224bf4..e9e118d 100644
--- a/wally/ssh_utils.py
+++ b/wally/ssh_utils.py
@@ -1,5 +1,4 @@
 import re
-import yaml
 import getpass
 import logging
 from typing import List, Dict, Any
@@ -7,6 +6,7 @@
 
 from . import utils
 from .common_types import IPAddr
+from .result_classes import IStorable
 
 
 logger = logging.getLogger("wally")
@@ -47,9 +47,7 @@
         uri_reg_exprs.append(templ.format(**re_dct))
 
 
-class ConnCreds(yaml.YAMLObject):  # type: ignore
-    yaml_tag = '!ConnCreds'
-
+class ConnCreds(IStorable):
     def __init__(self, host: str, user: str, passwd: str = None, port: str = '22',
                  key_file: str = None, key: bytes = None) -> None:
         self.user = user
@@ -64,21 +62,18 @@
     def __repr__(self) -> str:
         return str(self)
 
-    @classmethod
-    def to_yaml(cls, dumper: Any, data: 'ConnCreds') -> Any:
-        dict_representation = {
-            'user': data.user,
-            'host': data.addr.host,
-            'port': data.addr.port,
-            'passwd': data.passwd,
-            'key_file': data.key_file
+    def raw(self) -> Dict[str, Any]:
+        return {
+            'user': self.user,
+            'host': self.addr.host,
+            'port': self.addr.port,
+            'passwd': self.passwd,
+            'key_file': self.key_file
         }
-        return dumper.represent_mapping(data.yaml_tag, dict_representation)
 
     @classmethod
-    def from_yaml(cls, loader: Any, node: Any) -> 'ConnCreds':
-        dct = loader.construct_mapping(node)
-        return cls(**dct)
+    def fromraw(cls, data) -> 'ConnCreds':
+        return cls(**data)
 
 
 def parse_ssh_uri(uri: str) -> ConnCreds: