1) Different programmers use different layouts for programs. This makes it har for other programmers to read. It is therefore important in teams to make sure that all follow one layout principle. Try to change the layout of the program so it uses { at the end of the line rather than on a new line. Indent the body of all methods. Remove unnecessary { and } in connection with if statements. Also, make sure there are no underline "_" in variables which are not final, that all classes starts with capital letters etc. How long will it take to do this change. Make sure the program will compile both before and after. 2) Exception handling. In line 26, there is a catch Exception. Exception is a very general exception, what concrete exceptions can actually be caught here? 3) Logging. The two classes writes a lot of messages to System.out. When the server is stable, it should be possible to turn this of. Make a static method void log(String s) and a static boolean field shouldLog which can be set to false. All System.out.print should be changed to log, and the log method should only print if shouldLog is true. 4) Program logic (1). In line 131, there is a check on a boolean variable "fileExists", that check is repeated again in line 167. Can the value of fileExists have changed inbetween? 5) Program logic (2). Rewrite the program so that it is only checked once.