Comprehensive documentation

Comprehensive documentation