better error names, rescueing in a single place