diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d0c3cbf1020d5c292abdedf27627c6abe25e2293
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS    ?=
+SPHINXBUILD   ?= sphinx-build
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/source/README.md b/docs/source/README.md
new file mode 120000
index 0000000000000000000000000000000000000000..fe840054137e2ccda075344f21e728249a60a2fc
--- /dev/null
+++ b/docs/source/README.md
@@ -0,0 +1 @@
+../../README.md
\ No newline at end of file
diff --git a/docs/source/conf.py b/docs/source/conf.py
new file mode 100644
index 0000000000000000000000000000000000000000..766ef26ec88e4186b79be3b92893f7b7ff082728
--- /dev/null
+++ b/docs/source/conf.py
@@ -0,0 +1,57 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# 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.
+#
+import os
+import sys
+sys.path.insert(0, os.path.abspath('../../'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'phasecalculator'
+copyright = '2020, Mark D. Driver'
+author = 'Mark D. Driver'
+
+# The full version, including alpha/beta/rc tags
+release = '1.0.0'
+
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = ['sphinx.ext.autodoc', #for finding code docs 
+              'sphinx.ext.napoleon', #for numpy or google style documentation.
+              'recommonmark',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ['source/README.md']
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'alabaster'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
diff --git a/docs/source/index.rst b/docs/source/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..8c6bc0a0865d4ffa90021663eef94e5fb3198895
--- /dev/null
+++ b/docs/source/index.rst
@@ -0,0 +1,22 @@
+.. phasecalculator documentation master file, created by
+   sphinx-quickstart on Sun Feb 16 11:46:13 2020.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to phasecalculator's documentation!
+===========================================
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+   README.md
+   modules
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/docs/source/modules.rst b/docs/source/modules.rst
new file mode 100644
index 0000000000000000000000000000000000000000..360555da6290ae9aabcd40dde7d14e096277e29e
--- /dev/null
+++ b/docs/source/modules.rst
@@ -0,0 +1,7 @@
+phasecalculator
+===============
+
+.. toctree::
+   :maxdepth: 4
+
+   phasecalculator
diff --git a/docs/source/phasecalculator.analysis.rst b/docs/source/phasecalculator.analysis.rst
new file mode 100644
index 0000000000000000000000000000000000000000..658deaa4a53bbe028688a82c43956c947c2f947d
--- /dev/null
+++ b/docs/source/phasecalculator.analysis.rst
@@ -0,0 +1,38 @@
+phasecalculator.analysis package
+================================
+
+Submodules
+----------
+
+phasecalculator.analysis.fgipanalysis module
+--------------------------------------------
+
+.. automodule:: phasecalculator.analysis.fgipanalysis
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.analysis.similarityanalysis module
+--------------------------------------------------
+
+.. automodule:: phasecalculator.analysis.similarityanalysis
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.analysis.vleanalysis module
+-------------------------------------------
+
+.. automodule:: phasecalculator.analysis.vleanalysis
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.analysis
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.classes.rst b/docs/source/phasecalculator.classes.rst
new file mode 100644
index 0000000000000000000000000000000000000000..a2cafaa7c069628554ca5d53d4add4dd82569552
--- /dev/null
+++ b/docs/source/phasecalculator.classes.rst
@@ -0,0 +1,78 @@
+phasecalculator.classes package
+===============================
+
+Submodules
+----------
+
+phasecalculator.classes.molecule module
+---------------------------------------
+
+.. automodule:: phasecalculator.classes.molecule
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.outputinformation module
+------------------------------------------------
+
+.. automodule:: phasecalculator.classes.outputinformation
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.phase module
+------------------------------------
+
+.. automodule:: phasecalculator.classes.phase
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.phases module
+-------------------------------------
+
+.. automodule:: phasecalculator.classes.phases
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.runtimeinformation module
+-------------------------------------------------
+
+.. automodule:: phasecalculator.classes.runtimeinformation
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.system module
+-------------------------------------
+
+.. automodule:: phasecalculator.classes.system
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.temperature module
+------------------------------------------
+
+.. automodule:: phasecalculator.classes.temperature
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.classes.xmlnamespacing module
+---------------------------------------------
+
+.. automodule:: phasecalculator.classes.xmlnamespacing
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.classes
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.io.rst b/docs/source/phasecalculator.io.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d80adfb504c94ac01835ad058982b98dbb1d65aa
--- /dev/null
+++ b/docs/source/phasecalculator.io.rst
@@ -0,0 +1,62 @@
+phasecalculator.io package
+==========================
+
+Submodules
+----------
+
+phasecalculator.io.phasecalculatorxmlparser module
+--------------------------------------------------
+
+.. automodule:: phasecalculator.io.phasecalculatorxmlparser
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.io.phasecsvconverter module
+-------------------------------------------
+
+.. automodule:: phasecalculator.io.phasecsvconverter
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.io.phasetransferxmlcreator module
+-------------------------------------------------
+
+.. automodule:: phasecalculator.io.phasetransferxmlcreator
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.io.polynomialio module
+--------------------------------------
+
+.. automodule:: phasecalculator.io.polynomialio
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.io.solventextractor module
+------------------------------------------
+
+.. automodule:: phasecalculator.io.solventextractor
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.io.systemcollectionprocessor module
+---------------------------------------------------
+
+.. automodule:: phasecalculator.io.systemcollectionprocessor
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.io
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.rst b/docs/source/phasecalculator.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d30556a6de6b9f4c6a9d3e931e082f1c40dc706e
--- /dev/null
+++ b/docs/source/phasecalculator.rst
@@ -0,0 +1,33 @@
+phasecalculator package
+=======================
+
+Subpackages
+-----------
+
+.. toctree::
+
+   phasecalculator.analysis
+   phasecalculator.classes
+   phasecalculator.io
+   phasecalculator.runners
+   phasecalculator.test
+
+Submodules
+----------
+
+phasecalculator.phasecalculatorcli module
+-----------------------------------------
+
+.. automodule:: phasecalculator.phasecalculatorcli
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.runners.rst b/docs/source/phasecalculator.runners.rst
new file mode 100644
index 0000000000000000000000000000000000000000..7d08c38e4b4f1a0609262c031aca930515a55fe5
--- /dev/null
+++ b/docs/source/phasecalculator.runners.rst
@@ -0,0 +1,62 @@
+phasecalculator.runners package
+===============================
+
+Submodules
+----------
+
+phasecalculator.runners.fgipanalysisrunner module
+-------------------------------------------------
+
+.. automodule:: phasecalculator.runners.fgipanalysisrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.runners.phasecalculatorrunner module
+----------------------------------------------------
+
+.. automodule:: phasecalculator.runners.phasecalculatorrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.runners.phasetransferrunner module
+--------------------------------------------------
+
+.. automodule:: phasecalculator.runners.phasetransferrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.runners.phasexmlcreatorrunner module
+----------------------------------------------------
+
+.. automodule:: phasecalculator.runners.phasexmlcreatorrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.runners.similarityanalysisrunner module
+-------------------------------------------------------
+
+.. automodule:: phasecalculator.runners.similarityanalysisrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.runners.vleanalysisrunner module
+------------------------------------------------
+
+.. automodule:: phasecalculator.runners.vleanalysisrunner
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.runners
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.test.analysistest.rst b/docs/source/phasecalculator.test.analysistest.rst
new file mode 100644
index 0000000000000000000000000000000000000000..17eb48af8b2129e98fc020b5af84f1f5d708c71a
--- /dev/null
+++ b/docs/source/phasecalculator.test.analysistest.rst
@@ -0,0 +1,30 @@
+phasecalculator.test.analysistest package
+=========================================
+
+Submodules
+----------
+
+phasecalculator.test.analysistest.fgipanalysistest module
+---------------------------------------------------------
+
+.. automodule:: phasecalculator.test.analysistest.fgipanalysistest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.analysistest.similarityanalysistest module
+---------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.analysistest.similarityanalysistest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.test.analysistest
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.test.classestest.rst b/docs/source/phasecalculator.test.classestest.rst
new file mode 100644
index 0000000000000000000000000000000000000000..b642faad68b52ddb34b2410c5a47ef6d03e7b276
--- /dev/null
+++ b/docs/source/phasecalculator.test.classestest.rst
@@ -0,0 +1,70 @@
+phasecalculator.test.classestest package
+========================================
+
+Submodules
+----------
+
+phasecalculator.test.classestest.moleculetest module
+----------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.moleculetest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.outputinformationtest module
+-------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.outputinformationtest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.phasestest module
+--------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.phasestest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.phasetest module
+-------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.phasetest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.runtimeinformationtest module
+--------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.runtimeinformationtest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.systemtest module
+--------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.systemtest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.classestest.temperaturetest module
+-------------------------------------------------------
+
+.. automodule:: phasecalculator.test.classestest.temperaturetest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.test.classestest
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.test.iotest.rst b/docs/source/phasecalculator.test.iotest.rst
new file mode 100644
index 0000000000000000000000000000000000000000..15502c13a0f93f21c6697ea3103c61891a6ad29a
--- /dev/null
+++ b/docs/source/phasecalculator.test.iotest.rst
@@ -0,0 +1,54 @@
+phasecalculator.test.iotest package
+===================================
+
+Submodules
+----------
+
+phasecalculator.test.iotest.phasecsvconvertertest module
+--------------------------------------------------------
+
+.. automodule:: phasecalculator.test.iotest.phasecsvconvertertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.iotest.phasetransferxmlcreatortest module
+--------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.iotest.phasetransferxmlcreatortest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.iotest.polynomialiotest module
+---------------------------------------------------
+
+.. automodule:: phasecalculator.test.iotest.polynomialiotest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.iotest.solventextractortest module
+-------------------------------------------------------
+
+.. automodule:: phasecalculator.test.iotest.solventextractortest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.iotest.systemcollectionprocessortest module
+----------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.iotest.systemcollectionprocessortest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.test.iotest
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.test.rst b/docs/source/phasecalculator.test.rst
new file mode 100644
index 0000000000000000000000000000000000000000..2d93028033742e2f34f42772ad14014fcd023226
--- /dev/null
+++ b/docs/source/phasecalculator.test.rst
@@ -0,0 +1,32 @@
+phasecalculator.test package
+============================
+
+Subpackages
+-----------
+
+.. toctree::
+
+   phasecalculator.test.analysistest
+   phasecalculator.test.classestest
+   phasecalculator.test.iotest
+   phasecalculator.test.runnerstest
+
+Submodules
+----------
+
+phasecalculator.test.phasecalculatortests module
+------------------------------------------------
+
+.. automodule:: phasecalculator.test.phasecalculatortests
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.test
+   :members:
+   :undoc-members:
+   :show-inheritance:
diff --git a/docs/source/phasecalculator.test.runnerstest.rst b/docs/source/phasecalculator.test.runnerstest.rst
new file mode 100644
index 0000000000000000000000000000000000000000..6205154b86cfea7847df8c6f0b034639ccf0e949
--- /dev/null
+++ b/docs/source/phasecalculator.test.runnerstest.rst
@@ -0,0 +1,62 @@
+phasecalculator.test.runnerstest package
+========================================
+
+Submodules
+----------
+
+phasecalculator.test.runnerstest.fgipanalysisrunnertest module
+--------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.fgipanalysisrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.runnerstest.phasecalculatorrunnertest module
+-----------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.phasecalculatorrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.runnerstest.phasetransferrunnertest module
+---------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.phasetransferrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.runnerstest.phasexmlcreatorrunnertest module
+-----------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.phasexmlcreatorrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.runnerstest.similarityanalysisrunnertest module
+--------------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.similarityanalysisrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+phasecalculator.test.runnerstest.vleanalysisrunnertest module
+-------------------------------------------------------------
+
+.. automodule:: phasecalculator.test.runnerstest.vleanalysisrunnertest
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: phasecalculator.test.runnerstest
+   :members:
+   :undoc-members:
+   :show-inheritance: