Design Changes and Modified Download() Function