use eidiot rather than die for (hopefully) better error message