     ///   - sunAltitude: The sun altitude to consider. See TwilightSunAltitude for known values.
     ///   - coordinates: The geographic coordinates for which to compute the twilights.
     /// - Returns: The rise, transit and set times, in Julian Day, and an error, if relevant.
-    func twilights(forSunAltitude sunAltitude: Degree, coordinates: GeographicCoordinates) -> (rise: JulianDay?, transit: JulianDay?, set: JulianDay?, error: CelestialBodyTransitError?) {
+    public func twilights(forSunAltitude sunAltitude: Degree, coordinates: GeographicCoordinates) -> (rise: JulianDay?, transit: JulianDay?, set: JulianDay?, error: CelestialBodyTransitError?) {
         
         var error: CelestialBodyTransitError? = nil
         

    ///   - planet: The considered planet. Cannot be the Earth.
    ///   - coordinates: The geographic coordinates for which to compute the twilights.
    /// - Returns: The rise, transit and set times, in Julian Day, and an error, if relevant.
    func riseTransitSetTimes(for planetaryObject: KPCPlanetaryObject, geographicCoordinates: GeographicCoordinates) -> (riseTime: JulianDay?, transitTime: JulianDay?, setTime: JulianDay?, error: CelestialBodyTransitError?) {
        guard planetaryObject != .UNDEFINED else {
            return (riseTime: nil, transitTime: nil, setTime: nil, error: CelestialBodyTransitError.undefinedPlanetaryObject)
        }

     
     - returns: A julian day of the TT time of the equinox.
     */
    public func equinox(of equinoxType: EarthEquinoxType) -> JulianDay {
        let year = self.julianDay.date.year
        switch equinoxType {
        case .northwardSpring:
