Fixes #3, changed to the typical go approach of returning an error code instead of using panic, which was a bad idea to do when validating user input