fleshed out bad_input exception