added random fxns and KnuthAlgorithmS