don't use system random function, use CMS random engines