updated and enhanced documentation