redo implement ARCH_Random