diff --git a/docs/source/code.rst b/docs/source/code.rst
new file mode 100644
index 0000000000000000000000000000000000000000..5d661f6b8e408c59db4b736cbbbff35161912113
--- /dev/null
+++ b/docs/source/code.rst
@@ -0,0 +1,22 @@
+NIFTy Code
+==========
+
+The NIFTy code is divided in the concepts Spaces, Fields, Operators and Minimization
+
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Concepts
+   :glob:
+
+   Spaces         <concepts/spaces>
+   Fields         <concepts/field>
+   Operators      <concepts/operators>
+   Minimization   <concepts/minimization>
+
+
+
+
+
+
+
diff --git a/docs/source/concepts/field.rst b/docs/source/concepts/field.rst
new file mode 100644
index 0000000000000000000000000000000000000000..07957662016dd63dc1256ffad5707ca6fe260188
--- /dev/null
+++ b/docs/source/concepts/field.rst
@@ -0,0 +1,17 @@
+Fields
+======
+
+Description of Fields
+
+.. toctree::
+    :caption: Types of Fields
+
+    Field                           <../mod/nifty4.field>
+
+
+
+
+
+
+
+
diff --git a/docs/source/concepts/minimization.rst b/docs/source/concepts/minimization.rst
new file mode 100644
index 0000000000000000000000000000000000000000..fddbed0595fca1ada6adc0a382477d2d53288250
--- /dev/null
+++ b/docs/source/concepts/minimization.rst
@@ -0,0 +1,23 @@
+Minimization
+============
+
+Description of Minimization
+
+.. toctree::
+    :caption: Minimization Concepts
+
+    Conjugate Gradient                      <../mod/nifty4.minimization.conjugate_gradient>
+    Descent Minimizer                       <../mod/nifty4.minimization.descent_minimizer>
+    Energy                                  <../mod/nifty4.minimization.energy>
+    Iteration Controller                    <../mod/nifty4.minimization.iteration_controller>
+    Line Energy                             <../mod/nifty4.minimization.line_energy>
+    Line Search                             <../mod/nifty4.minimization.line_search>
+    Line Search Strong Wolfe                <../mod/nifty4.minimization.line_search_strong_wolfe>
+    Minimizer                               <../mod/nifty4.minimization.minimizer>
+    Nonlinear Cg                            <../mod/nifty4.minimization.nonlinear_cg>
+    Quadratic Energy                        <../mod/nifty4.minimization.quadratic_energy>
+    Relaxed Newton                          <../mod/nifty4.minimization.relaxed_newton>
+    Scipy Minimizer                         <../mod/nifty4.minimization.scipy_minimizer>
+    Steepest Descent                        <../mod/nifty4.minimization.steepest_descent>
+    VL BFGS                                 <../mod/nifty4.minimization.vl_bfgs>
+    Gradient Norm Controller                <../mod/nifty4.minimization.gradient_norm_controller>
diff --git a/docs/source/concepts/operators.rst b/docs/source/concepts/operators.rst
new file mode 100644
index 0000000000000000000000000000000000000000..492b90b294f53845d82f2f87f05e37dfb7211390
--- /dev/null
+++ b/docs/source/concepts/operators.rst
@@ -0,0 +1,30 @@
+Operators
+=========
+
+Description of Operators
+
+.. toctree::
+    :caption: Types of Operators
+
+    Adjoint                             <../mod/nifty4.operators.adjoint_operator>
+    Chain                               <../mod/nifty4.operators.chain_operator>
+    Diagonal                            <../mod/nifty4.operators.diagonal_operator>
+    DOF Projection                      <../mod/nifty4.operators.dof_projection_operator>
+    Direct Smoothing                    <../mod/nifty4.operators.direct_smoothing_operator>
+    Endomorphic                         <../mod/nifty4.operators.endomorphic_operator>
+    FFT                                 <../mod/nifty4.operators.fft_operator>
+    FFT Smoothing                       <../mod/nifty4.operators.fft_smoothing_operator>
+    Geometry Remover                    <../mod/nifty4.operators.geometry_remover>
+    Harmonic Transform                  <../mod/nifty4.operators.harmonic_transform_operator>
+    Inverse                             <../mod/nifty4.operators.inverse_operator>
+    Inversion Enabler                   <../mod/nifty4.operators.inversion_enabler>
+    Laplace                             <../mod/nifty4.operators.linear_operator>
+    Linear                              <../mod/nifty4.operators.power_projection_operator>
+    Power Projection                    <../mod/nifty4.operators.power_projection_operator>
+    Scaling                             <../mod/nifty4.operators.smoothness_operator>
+    Smoothness                          <../mod/nifty4.operators.smoothness_operator>
+    Sum                                 <../mod/nifty4.operators.sum_operator>
+
+
+
+
diff --git a/docs/source/concepts/spaces.rst b/docs/source/concepts/spaces.rst
new file mode 100644
index 0000000000000000000000000000000000000000..bf08046aeb7af8a8a996adfc9b34cdd3fc58205f
--- /dev/null
+++ b/docs/source/concepts/spaces.rst
@@ -0,0 +1,25 @@
+Spaces
+======
+
+Description of Spaces
+
+.. toctree::
+    :caption: Types of Spaces
+
+    DOF                             <../mod/nifty4.spaces.dof_space>
+    Gauss-Legendre                  <../mod/nifty4.spaces.gl_space>
+    HEALPix                         <../mod/nifty4.spaces.gl_space>
+    Power                           <../mod/nifty4.spaces.power_space>
+    LM                              <../mod/nifty4.spaces.lm_space>
+    RG                              <../mod/nifty4.spaces.rg_space>
+    Domain                          <../mod/nifty4.spaces.domain>
+    Structured Domain               <../mod/nifty4.spaces.structured_domain>
+    Unstrcutured Domain             <../mod/nifty4.spaces.unstructured_domain>
+
+
+
+
+
+
+
+
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 694a039241724379947aa62126f924f03ae7d596..f34ae42a75c502f1f78a07867257bedaae0e123e 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -21,7 +21,7 @@ import sphinx_rtd_theme
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
+sys.path.insert(0, os.path.abspath('../../nifty4/'))
 
 napoleon_google_docstring = False
 napoleon_numpy_docstring = True
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 34ee9486c2f058cd07579441a9d90eeb86217df3..4ee1b28b95e0f171f56ac7766ce4bb240ce744ec 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -24,10 +24,11 @@ Contents
 ........
 
 .. toctree::
-   :maxdepth: 1
+   :maxdepth: 2
 
    ift
    start
+   code
 
 Indices and tables
 ..................