Assignment #3 enums and exceptions working