This is all code from both CS1410 and CS 2420