prefer to throw an exception, as I suspect it wont