changed exception to be explicit