diff --git a/demos/getting_started_3.py b/demos/getting_started_3.py
index adb0e43a13d70f56a02443921c6c5b9c9450335e..e15733053da7f3e27bc46facb0c100941edc0cb6 100644
--- a/demos/getting_started_3.py
+++ b/demos/getting_started_3.py
@@ -56,34 +56,12 @@ if __name__ == '__main__':
     filename = "getting_started_3_mode_{}_".format(mode) + "{}.png"
 
     position_space = ift.RGSpace([128, 128])
-    harmonic_space = position_space.get_default_codomain()
-    ht = ift.HarmonicTransformOperator(harmonic_space, position_space)
-    power_space = ift.PowerSpace(harmonic_space)
-
-    # Set up an amplitude operator for the field
-    dct = {
-        'target': power_space,
-        'n_pix': 64,  # 64 spectral bins
-
-        # Spectral smoothness (affects Gaussian process part)
-        'a': 3,  # relatively high variance of spectral curbvature
-        'k0': .4,  # quefrency mode below which cepstrum flattens
-
-        # Power-law part of spectrum:
-        'sm': -5,  # preferred power-law slope
-        'sv': .5,  # low variance of power-law slope
-        'im':  0,  # y-intercept mean, in-/decrease for more/less contrast
-        'iv': .3   # y-intercept variance
-    }
-    A = ift.SLAmplitude(**dct)
-
-    # Build the operator for a correlated signal
-    power_distributor = ift.PowerDistributor(harmonic_space, power_space)
-    vol = harmonic_space.scalar_dvol**-0.5
-    xi = ift.ducktape(harmonic_space, None, 'xi')
-    correlated_field = ht(vol*power_distributor(A)*xi)
-    # Alternatively, one can use:
-    # correlated_field = ift.CorrelatedField(position_space, A)
+    power_space = ift.PowerSpace(position_space.get_default_codomain())
+
+    cfmaker = ift.CorrelatedFieldMaker()
+    cfmaker.add_fluctuations(power_space, 1, 1e-2, 1, 1e-2, 1, 1e-2, -3, 0.5, '')
+    correlated_field = cfmaker.finalize(1e-3, 1e-6, '')
+    A = cfmaker.amplitudes[0]
 
     # Apply a nonlinearity
     signal = ift.sigmoid(correlated_field)