I get all green check marks, but I hacked my way in. How can I fix this so it actually looks like something import java.io.*; /* Let's make the code do something useful! */ public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String sourceFileName; InputStream fileInputStream =null; try { sourceFileName = reader.readLine(); fileInputStream = getInputStream(sourceFileName); } catch (FileNotFoundException e){ System.out.println("File does not exist."); System.out.println("file was not really found so here; " + e); System.out.println("try again to enter file name"); sourceFileName = reader.readLine(); fileInputStream = getInputStream(sourceFileName); System.out.println("now for the output filename"); } catch (Exception e){ System.out.println("some other exception happened"); } String destinationFileName = reader.readLine(); OutputStream fileOutputStream = getOutputStream(destinationFileName); while (fileInputStream.available() > 0) { int data = fileInputStream.read(); fileOutputStream.write(data); } //finally{ // fileInputStream.close(); //fileOutputStream.close(); //} } public static InputStream getInputStream(String fileName) throws IOException { return new FileInputStream(fileName); } public static OutputStream getOutputStream(String fileName) throws IOException { return new FileOutputStream(fileName); } }