implement geometric weighting score