Final Project, both problem statements implemented