simplify replicate so that it is not restricted to DelayedCall