requiring files has a cost, I'd be better to have these all in one file that's only required if ::Random isn't present