added the ability to specify source of randomness for a split method