Final code edit and added UML diagram