implemented variation weights