implementing weighting schemes