OOP1 Java Coursework