BTW, apparently throw; is deprecated. Not sure what is the alternative.