Final Version with revisions