now throwing named exceptions, bumped version