diff --git a/src/lib.rs b/src/lib.rs
index 07f70faee262eef400d24afdea0d4826ec3d5f10..82894783f78ef29f6fee17b808180394b5b2633b 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1 +1,4 @@
+//! This is the documentation for the OPOSSUM software package. OPOSSUM stands for OPen-source Optics Simulation Software and Unified Modeller.
+//! 
+/// The basic structure containing the entire optical model
 pub mod opticscenery;
\ No newline at end of file
diff --git a/src/opticscenery.rs b/src/opticscenery.rs
index 23fa40d8582d9d6cf06fa9d5ffe831985b54538b..9902f4e2962c67be29712354ec84a4773b9c6127 100644
--- a/src/opticscenery.rs
+++ b/src/opticscenery.rs
@@ -1,6 +1,13 @@
 use petgraph::prelude::DiGraph;
+use petgraph::dot::Dot;
 
 #[derive(Default, Debug)]
 pub struct Opticscenery {
   g: DiGraph<i32,()>
+}
+
+impl Opticscenery {
+  pub fn to_dot(self: &Self) -> String {
+    format!("{:?}",Dot::new(&self.g))
+  }
 }
\ No newline at end of file