documentation to develop

documented almost everything using doxygen