Added progress indicators for downloads

also began fixing ugly code