cleaned up and expanded documentation