CIS 120 Final Project (Will improve in free time.)