can we have a more meaningful error message - and perhaps throw a runtime exception?