diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h
index 8fc1dd999b292064f92ea7ac572a5a3546b2a136..1ffa2afcb73bab06de6d40f5bd2c22d252cebd89 100644
--- a/include/gnss_utils/gnss_utils.h
+++ b/include/gnss_utils/gnss_utils.h
@@ -66,22 +66,22 @@ struct ComputePosOutput
 };
 
 /* defaults processing options */
-const prcopt_t opt_default = {
+const prcopt_t default_prcopt = {
     PMODE_SINGLE,                           /* mode: positioning mode (PMODE_???) */
     0,                                      /* soltype: solution type (0:forward,1:backward,2:combined) */
     2,                                      /* nf: number of frequencies (1:L1,2:L1+L2,3:L1+L2+L3,4:L1+L2+L3+L4) */
     SYS_GPS|SYS_GLO|SYS_GAL,                /* navsys */
     15.0*D2R,{{0,0}},                       /* elmin (rad) ,snrmask */
-    0,                                      /* satellite ephemeris/clock (EPHOPT_???) */
+    0,                                      /* satellite ephemeris option: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris */
     3,3,1,0,1,                              /* modear,glomodear,gpsmodear,bdsmodear,arfilter */
     20,0,4,5,10,20,                         /* maxout,minlock,minfixsats,minholdsats,mindropsats,minfix */
     0,1,                                    /* rcvstds,armaxiter */
-    IONOOPT_BRDC,                           /* ionoopt: ionosphere option (IONOOPT_???) */
-    TROPOPT_SAAS,                           /* tropopt: troposphere option (TROPOPT_???) */
+    IONOOPT_BRDC,                           /* ionoopt: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode */
+    TROPOPT_SAAS,                           /* tropopt: TROPOPT_OFF(0):correction off, TROPOPT_SAAS(1):Saastamoinen model, TROPOPT_SBAS(2):SBAS model, TROPOPT_EST(3):troposphere option: ZTD estimation, TROPOPT_ESTG(4):ZTD+grad estimation, TROPOPT_ZTD(5):ZTD correction,6:ZTD+grad correction */
     1,0,                                    /* dynamics,tidecorr */
     3,                                      /* niter: number of filter iteration */
     0,0,                                    /* codesmooth,intpref */
-    0,                                      /* sbascorr: SBAS correction options */
+    0,                                      /* sbascorr: SBAS correction options (can be added): SBSOPT_LCORR(1): long term correction, SBSOPT_FCORR(2): fast correction, SBSOPT_ICORR(4): ionosphere correction, SBSOPT_RANGE(8): ranging */
     0,                                      /* sbasssatsel: SBAS satellite selection (0:all) */
     0,0,                                    /* rovpos,refpos */
     WEIGHTOPT_ELEVATION,                    /* weightmode */
@@ -115,20 +115,19 @@ struct TdcpOptions
     bool corr_iono;         // apply correction also in TDCP
     bool corr_tropo;        // apply correction also in TDCP
     bool loss_function;     // apply loss function in TDCP factors
-    //double std_time_factor; // std of TDCP measurements: std_time_factor * dt
     double sigma_atm;
     double sigma_carrier;
     bool   use_old_nav;
-    bool   use_multi_freq;
+    bool   multi_freq;
     double time_window;     // window of time in which we perform TDCP
 };
 
 struct Options
 {
-    int sateph;     // satellite ephemeris/clock (0:broadcast ephemeris,1:precise ephemeris,2:broadcast + SBAS,3:ephemeris option: broadcast + SSR_APC,4:broadcast + SSR_COM,5: QZSS LEX ephemeris
-    int ionoopt;    // ionosphere option (IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation,5:IONEX TEC model,6:QZSS broadcast,7:QZSS LEX ionosphere,8:SLANT TEC mode)
-    int tropopt;    // troposphere option: (0:correction off,1:Saastamoinen model,2:SBAS model,3:troposphere option: ZTD estimation,4:ZTD+grad estimation,5:ZTD correction,6:ZTD+grad correction)
-    int sbascorr;   // SBAS option (1:long term correction,2:fast correction,4:ionosphere correction,8:ranging)
+    int sateph;     // satellite ephemeris option: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris
+    int ionoopt;    // ionosphere option: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode
+    int tropopt;    // troposphere option: TROPOPT_OFF(0):correction off, TROPOPT_SAAS(1):Saastamoinen model, TROPOPT_SBAS(2):SBAS model, TROPOPT_EST(3):troposphere option: ZTD estimation, TROPOPT_ESTG(4):ZTD+grad estimation, TROPOPT_ZTD(5):ZTD correction,6:ZTD+grad correction
+    int sbascorr;   // SBAS correction options (can be added): SBSOPT_LCORR(1): long term correction, SBSOPT_FCORR(2): fast correction, SBSOPT_ICORR(4): ionosphere correction, SBSOPT_RANGE(8): ranging
     bool raim;      // RAIM enabled
     double elmin;   // min elevation (degrees)
     double maxgdop; // maxgdop: reject threshold of gdop
@@ -143,13 +142,13 @@ struct Options
 
     snrmask_t getSnrMask() const
     {
-        return opt_default.snrmask;
+        return default_prcopt.snrmask;
     }
 
     // create a rtklib option struct from this
     prcopt_t getPrcopt() const
     {
-        prcopt_t opt{opt_default};
+        prcopt_t opt{default_prcopt};
         opt.sateph      = sateph;
         opt.ionoopt     = ionoopt;
         opt.tropopt     = tropopt;
@@ -162,6 +161,19 @@ struct Options
     }
 };
 
+const Options default_options =
+{
+    EPHOPT_BRDC,  // satellite ephemeris option: EPHOPT_BRDC(0):broadcast ephemeris, EPHOPT_PREC(1): precise ephemeris, EPHOPT_SBAS(2): broadcast + SBAS, EPHOPT_SSRAPC(3): broadcast + SSR_APC, EPHOPT_SSRCOM(4): broadcast + SSR_COM, EPHOPT_LEX(5): QZSS LEX ephemeris
+    IONOOPT_BRDC,    // ionosphere option: IONOOPT_OFF(0):correction off, IONOOPT_BRDC(1):broadcast mode, IONOOPT_SBAS(2):SBAS model, IONOOPT_IFLC(3):L1/L2 or L1/L5, IONOOPT_EST(4):estimation, IONOOPT_TEC(5):IONEX TEC model, IONOOPT_QZS(6):QZSS broadcast, IONOOPT_LEX(7):QZSS LEX ionosphere, IONOOPT_STEC(8):SLANT TEC mode
+    TROPOPT_SAAS,    // troposphere option: TROPOPT_OFF(0):correction off, TROPOPT_SAAS(1):Saastamoinen model, TROPOPT_SBAS(2):SBAS model, TROPOPT_EST(3):troposphere option: ZTD estimation, TROPOPT_ESTG(4):ZTD+grad estimation, TROPOPT_ZTD(5):ZTD correction,6:ZTD+grad correction
+    SBSOPT_LCORR+SBSOPT_FCORR+SBSOPT_ICORR+SBSOPT_RANGE,   // SBAS correction options (can be added): SBSOPT_LCORR(1): long term correction, SBSOPT_FCORR(2): fast correction, SBSOPT_ICORR(4): ionosphere correction, SBSOPT_RANGE(8): ranging
+    false,      // RAIM enabled
+    D2R*30.0,   // min elevation (degrees)
+    0, // maxgdop: reject threshold of gdop
+    true, false, true, true, false, false, false, false, //GPS,SBS,GLO,GAL,QZS,CMP,IRN,LEO; // constellations used
+    {0} // TDCP options
+};
+
 // forward declarations
 class Observations;
 class Navigation;
diff --git a/include/gnss_utils/tdcp.h b/include/gnss_utils/tdcp.h
index f5f8a8205a6ad183aa8505471dd3acc96e07fa11..7885eb45d1d25d69f89ebe921a186ce9b921c1fa 100644
--- a/include/gnss_utils/tdcp.h
+++ b/include/gnss_utils/tdcp.h
@@ -14,7 +14,7 @@ struct TdcpBatchParams
   int    raim_n;
   double raim_min_residual;
   bool   relinearize_jacobian;
-  bool   use_old_nav;
+  bool   old_nav;
   int    max_iterations;
 };
 
diff --git a/src/observations.cpp b/src/observations.cpp
index 191ed998efac58027feb800933cda805bf915f82..a6b856a351de30b8aa0dedd2cecdf0cef6c32f17 100644
--- a/src/observations.cpp
+++ b/src/observations.cpp
@@ -422,7 +422,7 @@ std::set<int> Observations::filter(const Satellites&        sats,
                   opt.getNavSys(),
                   opt.getSnrMask(),
                   opt.elmin,
-                  opt.ionoopt == IONOOPT_IFLC or (opt.tdcp.enabled and opt.tdcp.use_multi_freq));
+                  opt.ionoopt == IONOOPT_IFLC or (opt.tdcp.enabled and opt.tdcp.multi_freq));
 }
 
 std::set<int> Observations::filter(const Satellites&        sats,
@@ -494,7 +494,7 @@ std::set<int> Observations::filter(const Satellites&                    sats,
                   opt.getNavSys(),
                   opt.getSnrMask(),
                   opt.elmin,
-                  opt.ionoopt == IONOOPT_IFLC or (opt.tdcp.enabled and opt.tdcp.use_multi_freq));
+                  opt.ionoopt == IONOOPT_IFLC or (opt.tdcp.enabled and opt.tdcp.multi_freq));
 }
 
 std::set<int> Observations::filter(const Satellites&                    sats,
diff --git a/src/tdcp.cpp b/src/tdcp.cpp
index 9207f4cf0e3a4cc4515a80789fcf9b8d71c4ce23..783f738183e3935f254ac7bdf371e3cc3c0d4e77 100644
--- a/src/tdcp.cpp
+++ b/src/tdcp.cpp
@@ -40,7 +40,7 @@ bool Tdcp(SnapshotPtr            snapshot_r,
 {
     // If use old nav temporary change navigation to (re)compute satellites positions
     auto nav_k = snapshot_k->getNavigation();
-    if (tdcp_params.use_old_nav)
+    if (tdcp_params.old_nav)
     {
         snapshot_k->getSatellites().clear();
         snapshot_k->setNavigation(snapshot_r->getNavigation());
@@ -82,7 +82,7 @@ bool Tdcp(SnapshotPtr            snapshot_r,
                         tdcp_params);
 
     // UNDO temporary change navigation
-    if (tdcp_params.use_old_nav)
+    if (tdcp_params.old_nav)
     {
         snapshot_k->setNavigation(nav_k);
         snapshot_k->computeSatellites(opt.sateph);
@@ -155,7 +155,7 @@ bool Tdcp(SnapshotPtr               snapshot_r,
         if (std::abs(obs_r.L[0]) > 1e-12 and std::abs(obs_k.L[0]) > 1e-12)
             row_2_sat_freq[row++] = std::make_pair(sat, 0);
 
-        if (!tdcp_params.tdcp.use_multi_freq)
+        if (!tdcp_params.tdcp.multi_freq)
             continue;
 
         // L2 (GPS/GLO/QZS)
@@ -310,7 +310,7 @@ bool Tdcp(SnapshotPtr               snapshot_r,
 
                     // Multi-freq: some rows for the same satellite
                     n_removed_rows = 1;
-                    if (tdcp_params.tdcp.use_multi_freq)
+                    if (tdcp_params.tdcp.multi_freq)
                         while (row_removed + n_removed_rows < A_raim.rows() and
                                row_2_sat_freq.at(row_removed + n_removed_rows).first == sat_removed)
                             n_removed_rows++;