throwing an error makes sense