just need to add exception dialog boxes for incorrect input and such