     self.optimizer = optimizer(network)
     self.learningRate = learningRate
     self.maxGradientNorm = maxGradientNorm
+    self.rewardsPreprocessor = rewardsPreprocessor
     self.advantageFunction = advantageFunction
     self.advantagesNormalizer = advantagesNormalizer
     self.useTDLambdaReturn = useTDLambdaReturn

    optimizer: (Network) -> Optimizer,
    learningRate: LearningRate,
    maxGradientNorm: Float? = 0.5,
    advantageFunction: AdvantageFunction = GeneralizedAdvantageEstimation(
      discountFactor: 0.99,
      discountWeight: 0.95),


  public let learningRate: LearningRate
  public let maxGradientNorm: Float?
  public let rewardsPreprocessor: (Tensor<Float>) -> Tensor<Float>
  public let advantageFunction: AdvantageFunction
  public let useTDLambdaReturn: Bool
  public let clip: PPOClip?
