diff --git a/.gitignore b/.gitignore
index fb3bc339def2840e50c325c2c7ef4dcd6377d211..9072d8ef8a0d7a04512330f43dfb49ea90a42023 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,4 +17,5 @@ AmpScan/.ipynb_checkpoints
 _build
 
 Internship_Diary/*.pdf
-Internship_Diary/*.gz
\ No newline at end of file
+Internship_Diary/*.gz
+*.ipynb_checkpoints
\ No newline at end of file
diff --git a/AmpScan/align.py b/AmpScan/align.py
index 08e440410bf83c4dc90d852b03bb2fcbddbf3102..6fbbb0a0eaa861f5d3c6fee85ad48a0cd1875f57 100644
--- a/AmpScan/align.py
+++ b/AmpScan/align.py
@@ -15,7 +15,7 @@ def align(moving, static, method = 'P2P'):
 
     def icp():
         """
-        Autmated alignment function between two 
+        Automated alignment function between two meshes
         """
         tTree = spatial.cKDTree(self.baseline.vert)
         rot = np.array([0,0,0], dtype=float)
@@ -24,6 +24,84 @@ def align(moving, static, method = 'P2P'):
         
         
     def calcDistError(rot, tTree):
+        """
+        Using this function for sample docstring (one line desc).
+        
+        A more extended description that provides details of how the function works.
+        
+        Parameters
+        ----------
+        rot : array_like
+            Rot has a structure that can be iterated through implying it should be an
+            array like structure
+        tTree : data_type
+            Description of tTree input and what it does.
+        
+        Returns
+        -------
+        type
+            Explanation of anonymous return value of type ``type``.
+        describe : type
+            Explanation of return value named `describe`.
+        out : type
+            Explanation of `out`.
+        type_without_description
+
+        Other Parameters
+        ----------------
+        only_seldom_used_keywords : type
+            Explanation
+        common_parameters_listed_above : type
+            Explanation
+
+        Raises
+        ------
+        BadException
+            Because you shouldn't have done that.
+
+        See Also
+        --------
+        otherfunc : relationship (optional)
+        newfunc : Relationship (optional), which could be fairly long, in which
+                  case the line wraps here.
+        thirdfunc, fourthfunc, fifthfunc
+
+        Notes
+        -----
+        Notes about the implementation algorithm (if needed).
+
+        This can have multiple paragraphs.
+
+        You may include some math:
+
+        .. math:: X(e^{j\omega } ) = x(n)e^{ - j\omega n}
+
+        And even use a Greek symbol like :math:`\omega` inline.
+
+        References
+        ----------
+        Cite the relevant literature, e.g. [1]_.  You may also cite these
+        references in the notes section above.
+
+        .. [1] O. McNoleg, "The integration of GIS, remote sensing,
+           expert systems and adaptive co-kriging for environmental habitat
+           modelling of the Highland Haggis using object-oriented, fuzzy-logic
+           and neural-network techniques," Computers & Geosciences, vol. 22,
+           pp. 585-588, 1996.
+
+        Examples
+        --------
+        These are written in doctest format, and should illustrate how to
+        use the function.
+
+        >>> a = [1, 2, 3]
+        >>> print [x + 3 for x in a]
+        [4, 5, 6]
+        >>> print "a\n\nb"
+        a
+        b
+
+        """
         Id = np.identity(3)
         for i in range(3):
             if rot[i] != 0: