This was a major project in one of my programming classes