Completed Lab 3

Added several modes, and the ability to accept user input