CS680. A lot of Java :(