remove dependency on boost random