Added source code that builds, documents and tests