Added exceptions, completed method of renaming files with little overhead