rand 1st pass
added ranX() methods