partially implemented weighting class