Now throws a bunch of fancy exceptions