modified mechanism for adding points and small rafactoring