Updates. some revisions and edits.