diff --git a/netbone/utils/__init__.py b/netbone/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/netbone/utils/narrate.py b/netbone/utils/narrate.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/netbone/utils/utils.py b/netbone/utils/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f31d2cef2682fb5e73637181578829382353704
--- /dev/null
+++ b/netbone/utils/utils.py
@@ -0,0 +1,24 @@
+import numpy as np
+import pandas as pd
+import networkx as nx
+
+
+def lcc(G):
+    return G.subgraph(max(nx.connected_components(G), key=len)).copy()
+def cumulative_dist(name, method, values, increasing=True):
+    if increasing:
+        x = -np.sort(-np.array(values))
+    else:
+        x = np.sort(values)
+    y = np.arange(1, len(x) + 1)/len(x)
+
+    df = pd.DataFrame(index=x)
+    df.index.name = name
+    df[method] = y
+    return df
+
+def edge_properties(df):
+    columns = list(df.columns)
+    columns.remove('source')
+    columns.remove('target')
+    return columns