better support for random