This is composed very much of the midterm project for CIT65 at Fresno City College.