Final Project :D

Still needs javadoc and commenting