Added some hardware verison and bounds checks.