public void Download(URL dl, File fl, String dn) throws IOException{
		OutputStream os = null;
		InputStream is = null;
		ProgressListener progressListener = new ProgressListener();
		try{
			os = new FileOutputStream(fl);
			is = dl.openStream();
			DownloadCountingOutputStream dcount = new DownloadCountingOutputStream(os);
			dcount.setListener(progressListener);
			totalSize = Double.parseDouble(dl.openConnection().getHeaderField("Content-Length"));
			IOUtils.copy(is, dcount);
		}catch(UnknownHostException uhe){
			System.out.println("Unknown Host. Notify the host to verify that the site is not down.");
		}catch(ConnectException ce){
			System.out.println("Connection to server couldn't be established. Check your connection or contact host.");
		}
		finally{
			if (os != null) { 
                os.close(); 
            }
            if (is != null) { 
                is.close(); 
            }
            finish(dn);
		}
	}