code and documentation for gsoc