last half of converting to custom exceptions for #75