added RandomUtil