def __init__(self, gameInfo, teams, teamRanks):

        self._priorLayer = PlayerPriorValuesToSkillsLayer(self, teams)
        self._gameInfo = gameInfo
        newFactory = VariableFactory(self.fromPrecisionMean)

        self.setVariableFactory(newFactory)
        self._layers = [
            self._priorLayer,
            PlayerSkillsToPerformancesLayer(self),
            PlayerPerformancesToTeamPerformancesLayer(self),
            IteratedTeamDifferencesInnerLayer(
                self, TeamPerformancesToTeamPerformanceDifferencesLayer(self),
                TeamDifferencesComparisonLayer(self, teamRanks))
        ]