Documentation improvement

Sets of commits to improve and add a comprehensive documentation