CMSI 186 - Medium Sized Java Applications