implements elo rating system