get rid of the exception-throwing