diff --git a/src/main/java/org/orekit/tutorials/propagation/VisibilityCheck.java b/src/main/java/org/orekit/tutorials/propagation/VisibilityCheck.java
index a4441ec..a6e1320 100644
--- a/src/main/java/org/orekit/tutorials/propagation/VisibilityCheck.java
+++ b/src/main/java/org/orekit/tutorials/propagation/VisibilityCheck.java
@@ -38,11 +38,14 @@ import org.orekit.orbits.Orbit;
 import org.orekit.propagation.Propagator;
 import org.orekit.propagation.SpacecraftState;
 import org.orekit.propagation.analytical.KeplerianPropagator;
+import org.orekit.propagation.analytical.tle.TLE;
+import org.orekit.propagation.analytical.tle.TLEPropagator;
 import org.orekit.propagation.events.ElevationDetector;
 import org.orekit.propagation.events.EventDetector;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.time.TimeScale;
 import org.orekit.time.TimeScalesFactory;
+import org.orekit.utils.Constants;
 import org.orekit.utils.IERSConventions;
 import org.orekit.utils.PVCoordinates;
 
@@ -80,48 +83,43 @@ public class VisibilityCheck {
 
             //  Initial state definition : date, orbit
             final TimeScale utc = TimeScalesFactory.getUTC();
-            final AbsoluteDate initialDate = new AbsoluteDate(2004, 01, 01, 23, 30, 00.000, utc);
-            final double mu =  3.986004415e+14; // gravitation coefficient
-            final Frame inertialFrame = FramesFactory.getEME2000(); // inertial frame for orbit definition
-            final Vector3D position  = new Vector3D(-6142438.668, 3492467.560, -25767.25680);
-            final Vector3D velocity  = new Vector3D(505.8479685, 942.7809215, 7435.922231);
-            final PVCoordinates pvCoordinates = new PVCoordinates(position, velocity);
-            final Orbit initialOrbit = new KeplerianOrbit(pvCoordinates, inertialFrame, initialDate, mu);
-
-            // Propagator : consider a simple Keplerian motion (could be more elaborate)
-            final Propagator kepler = new KeplerianPropagator(initialOrbit);
+            final AbsoluteDate initialDate = new AbsoluteDate(2024, 5, 17, utc);
+            String line1 = "1 25544U 98067A   24138.72899227  .00027305  00000-0  46004-3 0  9998";
+            String line2 = "2 25544  51.6391 106.3505 0003428 178.2016 240.1821 15.51476363453820";
+            final Propagator kepler = TLEPropagator.selectExtrapolator(new TLE(line1, line2));
 
             // Earth and frame
             final Frame ecef = FramesFactory.getITRF(IERSConventions.IERS_2010, true);
             final BodyShape earth = ReferenceEllipsoid.getWgs84(ecef);
 
             // Station
-            final double longitude = FastMath.toRadians(45.);
-            final double latitude  = FastMath.toRadians(25.);
+            final double longitude = FastMath.toRadians(-104.74755);
+            final double latitude  = FastMath.toRadians(38.832772);
             final double altitude  = 0.;
             final GeodeticPoint station1 = new GeodeticPoint(latitude, longitude, altitude);
             final TopocentricFrame sta1Frame = new TopocentricFrame(earth, station1, "station1");
 
             // Event definition
-            final double maxcheck  = 60.0;
+            final double maxcheck  = 10.0;
             final double threshold =  0.001;
-            final double elevation = FastMath.toRadians(5.0);
+            final double elevation = FastMath.toRadians(10.0);
             final EventDetector sta1Visi =
                     new ElevationDetector(maxcheck, threshold, sta1Frame).
                     withConstantElevation(elevation).
                     withHandler((s, d, increasing) -> {
-                        System.out.println(" Visibility on " +
-                                           ((ElevationDetector) d).getTopocentricFrame().getName() +
-                                           (increasing ? " begins at " : " ends at ") +
-                                           s.getDate().toStringWithoutUtcOffset(utc, 3));
-                        return increasing ? Action.CONTINUE : Action.STOP;
+                        if (increasing) {
+                            System.out.format(Locale.US, "%s -> ", s.getDate().toStringWithoutUtcOffset(utc, 3));
+                        } else {
+                            System.out.format(Locale.US, "%s%n", s.getDate().toStringWithoutUtcOffset(utc, 3));
+                        }
+                        return Action.CONTINUE;
                     });
 
             // Add event to be detected
             kepler.addEventDetector(sta1Visi);
 
             // Propagate from the initial date to the first raising or for the fixed duration
-            final SpacecraftState finalState = kepler.propagate(initialDate.shiftedBy(1500.));
+            final SpacecraftState finalState = kepler.propagate(initialDate, initialDate.shiftedBy(3 * Constants.JULIAN_DAY));
 
             System.out.println(" Final state duration from initial date (s) : " + finalState.getDate().durationFrom(initialDate));
 
