Updates from code review

- added a progressbar to show the download progress
- shows content length of the file being downloaded
- used multiple functions