typing and refactoring on the way
diff --git a/stubs/paramiko.pyi b/stubs/paramiko.pyi
new file mode 100644
index 0000000..45010f0
--- /dev/null
+++ b/stubs/paramiko.pyi
@@ -0,0 +1,34 @@
+from io import BytesIO
+from typing import Any, Tuple
+
+
+__version_info__ = None  # type: Tuple[int, int, int]
+
+
+class PasswordRequiredException(Exception):
+    pass
+
+
+class SSHException(Exception):
+    pass
+
+
+class RSAKey:
+    @classmethod
+    def from_private_key(cls, data: BytesIO) -> 'RSAKey': ...
+
+
+
+class AutoAddPolicy:
+    pass
+
+
+class SSHClient:
+    def __init__(self) -> None:
+        self.known_hosts = None  # type: Any
+
+    def load_host_keys(self, path: str) -> None: ...
+    def set_missing_host_key_policy(self, policy: AutoAddPolicy) -> None: ...
+    def connect(self, *args: Any, **kwargs: Any): ...
+    def get_transport(self) -> Any: ...
+    def open_sftp(self) -> Any: ...
diff --git a/stubs/psutil.pyi b/stubs/psutil.pyi
new file mode 100644
index 0000000..d3f1388
--- /dev/null
+++ b/stubs/psutil.pyi
@@ -0,0 +1,6 @@
+from typing import Iterable
+
+class Process:
+    def __init__(self, pid: int) -> None: ...
+    def children(self, recursive: bool = True) -> Iterable['Process']: ...
+    def kill(self) -> None: ...
diff --git a/stubs/yaml.pyi b/stubs/yaml.pyi
new file mode 100644
index 0000000..d8d6516
--- /dev/null
+++ b/stubs/yaml.pyi
@@ -0,0 +1,9 @@
+from typing import Union, List, Dict, Any, IO
+
+
+Basic = Union[List, Dict[str, Any]]
+
+
+def load(stream: IO, loader: Any) -> Any: ...
+class CLoader: ...
+