This is working kind of well. Need to improve weighted choice and then tweak values.