An old Java school project, code is not originally mine, but there are parts that are. Keeping it for documentation purposes.