updated and expanded documentation