adding the source code and documentation