added class level JavaDoc comments