allow randonmization by weight