implemented weighted scoring

Change accessibility to protected and possibly even make getWeight final?