diff --git a/src/main/java/org/orekit/rugged/adjustment/GroundOptimizationProblemBuilder.java b/src/main/java/org/orekit/rugged/adjustment/GroundOptimizationProblemBuilder.java
index 455f75af86e746b31c4f4a30ea84303ddeb8a935..5fd894680fdd654f78d847b61346c2cb712921e0 100644
--- a/src/main/java/org/orekit/rugged/adjustment/GroundOptimizationProblemBuilder.java
+++ b/src/main/java/org/orekit/rugged/adjustment/GroundOptimizationProblemBuilder.java
@@ -98,8 +98,8 @@ public class GroundOptimizationProblemBuilder extends OptimizationProblemBuilder
         
         final String ruggedName = rugged.getName();
         this.sensorToGroundMappings = new ArrayList<SensorToGroundMapping>();
-        for (final LineSensor lineSensor : sensors) {
-            final SensorToGroundMapping mapping = this.measurements.getGroundMapping(ruggedName, lineSensor.getName());
+        for (final LineSensor lineSensor : this.getSensors()) {
+            final SensorToGroundMapping mapping = this.getMeasurements().getGroundMapping(ruggedName, lineSensor.getName());
             if (mapping != null) {
                 this.sensorToGroundMappings.add(mapping);
             }
@@ -163,7 +163,7 @@ public class GroundOptimizationProblemBuilder extends OptimizationProblemBuilder
 
                 // set the current parameters values
                 int i = 0;
-                for (final ParameterDriver driver : this.drivers) {
+                for (final ParameterDriver driver : this.getDrivers()) {
                     driver.setNormalizedValue(point.getEntry(i++));
                 }
 
@@ -171,12 +171,12 @@ public class GroundOptimizationProblemBuilder extends OptimizationProblemBuilder
 
                 // compute inverse loc and its partial derivatives
                 final RealVector value = new ArrayRealVector(target.length);
-                final RealMatrix jacobian = new Array2DRowRealMatrix(target.length, this.nbParams);
+                final RealMatrix jacobian = new Array2DRowRealMatrix(target.length, this.getNbParams());
                 int l = 0;
                 for (final SensorToGroundMapping reference : this.sensorToGroundMappings) {
                     for (final Map.Entry<SensorPixel, GeodeticPoint> mapping : reference.getMapping()) {
                         final GeodeticPoint gp = mapping.getValue();
-                        final DerivativeStructure[] ilResult = this.rugged.inverseLocationDerivatives(reference.getSensorName(), gp, minLine, maxLine, generator);
+                        final DerivativeStructure[] ilResult = this.rugged.inverseLocationDerivatives(reference.getSensorName(), gp, minLine, maxLine, this.getGenerator());
 
                         if (ilResult == null) {
                             value.setEntry(l, minLine - 100.0); // arbitrary
@@ -190,9 +190,9 @@ public class GroundOptimizationProblemBuilder extends OptimizationProblemBuilder
                             value.setEntry(l + 1, ilResult[1].getValue());
 
                             // extract the Jacobian
-                            final int[] orders = new int[this.nbParams];
+                            final int[] orders = new int[this.getNbParams()];
                             int m = 0;
-                            for (final ParameterDriver driver : this.drivers) {
+                            for (final ParameterDriver driver : this.getDrivers()) {
                                 final double scale = driver.getScale();
                                 orders[m] = 1;
                                 jacobian.setEntry(l, m,
diff --git a/src/main/java/org/orekit/rugged/adjustment/InterSensorsOptimizationProblemBuilder.java b/src/main/java/org/orekit/rugged/adjustment/InterSensorsOptimizationProblemBuilder.java
index 4f38a71e720acb576539c0e6405b847ed6c8fc10..554dda91b5afcbad760a2234366a11ad577cb7d3 100644
--- a/src/main/java/org/orekit/rugged/adjustment/InterSensorsOptimizationProblemBuilder.java
+++ b/src/main/java/org/orekit/rugged/adjustment/InterSensorsOptimizationProblemBuilder.java
@@ -100,12 +100,12 @@ public class InterSensorsOptimizationProblemBuilder extends OptimizationProblemB
         for (final String ruggedNameA : this.ruggedMap.keySet()) {
             for (final String ruggedNameB : this.ruggedMap.keySet()) {
                 
-                for (final LineSensor sensorA : this.sensors) {
-                    for (final LineSensor sensorB : this.sensors) {
+                for (final LineSensor sensorA : this.getSensors()) {
+                    for (final LineSensor sensorB : this.getSensors()) {
                         
                         final String sensorNameA = sensorA.getName();
                         final String sensorNameB = sensorB.getName();
-                        final SensorToSensorMapping mapping = this.measurements.getInterMapping(ruggedNameA, sensorNameA, ruggedNameB, sensorNameB);
+                        final SensorToSensorMapping mapping = this.getMeasurements().getInterMapping(ruggedNameA, sensorNameA, ruggedNameB, sensorNameB);
                         
                         if (mapping != null) {
                             this.sensorToSensorMappings.add(mapping);
@@ -181,7 +181,7 @@ public class InterSensorsOptimizationProblemBuilder extends OptimizationProblemB
             try {
                 // set the current parameters values
                 int i = 0;
-                for (final ParameterDriver driver : this.drivers) {
+                for (final ParameterDriver driver : this.getDrivers()) {
                     driver.setNormalizedValue(point.getEntry(i++));
                 }
 
@@ -189,7 +189,7 @@ public class InterSensorsOptimizationProblemBuilder extends OptimizationProblemB
 
                 // compute distance and its partial derivatives
                 final RealVector value = new ArrayRealVector(target.length);
-                final RealMatrix jacobian = new Array2DRowRealMatrix(target.length, this.nbParams);
+                final RealMatrix jacobian = new Array2DRowRealMatrix(target.length, this.getNbParams());
 
                 int l = 0;
                 for (final SensorToSensorMapping reference : this.sensorToSensorMappings) {
@@ -224,7 +224,7 @@ public class InterSensorsOptimizationProblemBuilder extends OptimizationProblemB
 
                         final DerivativeStructure[] ilResult = 
                                 ruggedB.distanceBetweenLOSDerivatives(lineSensorA, dateA, pixelA, scToBodyA, 
-                                                                      lineSensorB, dateB, pixelB, generator);
+                                                                      lineSensorB, dateB, pixelB, this.getGenerator());
 
                         if (ilResult == null) {
                             // TODO GP manque code
@@ -234,10 +234,10 @@ public class InterSensorsOptimizationProblemBuilder extends OptimizationProblemB
                             value.setEntry(l + 1, ilResult[1].getValue());
 
                             // extract the Jacobian
-                            final int[] orders = new int[this.nbParams];
+                            final int[] orders = new int[this.getNbParams()];
                             int m = 0;
 
-                            for (final ParameterDriver driver : this.drivers) {
+                            for (final ParameterDriver driver : this.getDrivers()) {
                                 final double scale = driver.getScale();
                                 orders[m] = 1;
                                 jacobian.setEntry(l, m, ilResult[0].getPartialDerivative(orders) * scale);
diff --git a/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java b/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java
index 369f03c346ce2d340bf154ed6da8dec9d58e63b3..406b4aa68b49492264a83fc38ea65fca49faae81 100644
--- a/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java
+++ b/src/main/java/org/orekit/rugged/adjustment/OptimizationProblemBuilder.java
@@ -55,19 +55,19 @@ abstract class OptimizationProblemBuilder {
     protected static final int ESTIMATION_LINE_RANGE_MARGIN = 100;
 
     /** Derivative structure generator.*/
-    protected final DSGenerator generator;
+    private final DSGenerator generator;
 
     /** Parameter drivers list. */
-    protected final List<ParameterDriver> drivers;
+    private final List<ParameterDriver> drivers;
 
     /** Number of parameters to refine. */
-    protected final int nbParams;
+    private final int nbParams;
 
     /** Measurements. */
-    protected Observables measurements;
+    private Observables measurements;
 
     /** Sensors list. */
-    protected final List<LineSensor> sensors;
+    private final List<LineSensor> sensors;
 
     /** Constructor.
      * @param sensors list of sensors to refine
@@ -91,29 +91,6 @@ abstract class OptimizationProblemBuilder {
         this.sensors = sensors;
     }
 
-    /** Get the number of parameters to refine.
-     * @return the number of parameters to refine
-     */
-    public final int getNbParams() {
-        return this.nbParams;
-    }
-
-    /**
-     * Get the parameters drivers list.
-     * @return the selected list of parameters driver
-     */
-    public final List<ParameterDriver> getSelectedParametersDriver() {
-        return this.drivers;
-    }
-
-    /**
-     * Get the derivative structure generator.
-     * @return the derivative structure generator.
-     */
-    public final DSGenerator getGenerator() {
-        return this.generator;
-    }
-
     /** Least squares problem builder.
      * @param maxEvaluations maximum number of evaluations
      * @param convergenceThreshold convergence threshold
@@ -259,4 +236,41 @@ abstract class OptimizationProblemBuilder {
             }
         };
     }
+
+    /** Get the sensors list.
+     * @return the sensors list
+     */
+    protected List<LineSensor> getSensors() {
+        return sensors;
+    }
+    
+    /** Get the number of parameters to refine.
+     * @return the number of parameters to refine
+     */
+    protected final int getNbParams() {
+        return this.nbParams;
+    }
+
+    /**
+     * Get the parameters drivers list.
+     * @return the selected list of parameters driver
+     */
+    protected final List<ParameterDriver> getDrivers() {
+        return this.drivers;
+    }
+
+    /**
+     * Get the derivative structure generator.
+     * @return the derivative structure generator.
+     */
+    protected final DSGenerator getGenerator() {
+        return this.generator;
+    }
+    
+    /** Get the measurements.
+     * @return the measurements
+     */
+    protected Observables getMeasurements() {
+        return measurements;
+    }
 }