better error, better location