add weighted random selection