Added comprehensive documentation