 
 import Foundation
 
-final class Solar: NSObject {
+public final class Solar: NSObject {
     
     /// The timezone for the Solar object
     private(set) var timeZone: NSTimeZone = NSTimeZone.localTimeZone()

    
    /// Whether the location specified by the `latitude` and `longitude` is in nighttime on `date`
    /// - Complexity: O(1)
    var isNighttime: Bool {
        return !isDaytime
    }
    
    // MARK: Init
    
    init?(forDate date: NSDate = NSDate(), withTimeZone timeZone: NSTimeZone = NSTimeZone.localTimeZone(), latitude: Double, longitude: Double) {
        self.date = date
        self.timeZone = timeZone
        self.latitude = latitude

    
    /// Sets all of the Solar object's sunrise / sunset variables, if possible.
    /// - Note: Can return `nil` objects if sunrise / sunset does not occur on that day.
    public func calculate() {
        sunrise = calculate(.Sunrise, forDate: date, andZenith: .Official)
        sunset = calculate(.Sunset, forDate: date, andZenith: .Official)
        civilSunrise = calculate(.Sunrise, forDate: date, andZenith: .Civil)
