slightly tidier error handling for the most common point for errors in normal use.