     let excludes : [String] = [
         HKCategoryTypeIdentifierAppleStandHour,
         HKQuantityTypeIdentifierBasalBodyTemperature,
-        HKQuantityTypeIdentifierBodyTemperature,
-//        HKQuantityTypeIdentifierBasalEnergyBurned,
-//        HKQuantityTypeIdentifierBloodAlcoholContent,
-//        HKQuantityTypeIdentifierElectrodermalActivity,
-//        HKQuantityTypeIdentifierForcedExpiratoryVolume1,
-//        HKQuantityTypeIdentifierForcedVitalCapacity,
-//        HKQuantityTypeIdentifierInhalerUsage,
-//        HKQuantityTypeIdentifierLeanBodyMass,
-//        HKQuantityTypeIdentifierNikeFuel,
-//        HKQuantityTypeIdentifierNumberOfTimesFallen,
-//        HKQuantityTypeIdentifierOxygenSaturation,
-//        HKQuantityTypeIdentifierPeakExpiratoryFlowRate,
-//        HKQuantityTypeIdentifierPeripheralPerfusionIndex,
-//        HKQuantityTypeIdentifierRespiratoryRate
-//        HKCategoryTypeIdentifierSleepAnalysis,
-//        HKQuantityTypeIdentifierActiveEnergyBurned,
-//        HKQuantityTypeIdentifierBloodGlucose,
+        HKQuantityTypeIdentifierBodyTemperature
+    ]
+    
+    let workoutTypesToGenerate : [HKWorkoutActivityType] = [
+        HKWorkoutActivityType.AmericanFootball,
+        HKWorkoutActivityType.Archery,
+        HKWorkoutActivityType.AustralianFootball,
+        HKWorkoutActivityType.Badminton,
+        HKWorkoutActivityType.Baseball,
+        HKWorkoutActivityType.Basketball,
+        HKWorkoutActivityType.Bowling,
+        HKWorkoutActivityType.Boxing,
+        HKWorkoutActivityType.Climbing,
+        HKWorkoutActivityType.Cricket,
+        HKWorkoutActivityType.CrossTraining,
+        HKWorkoutActivityType.Curling,
+        HKWorkoutActivityType.Cycling,
+        HKWorkoutActivityType.Dance,
+        HKWorkoutActivityType.DanceInspiredTraining,
+        HKWorkoutActivityType.Elliptical,
+        HKWorkoutActivityType.EquestrianSports,
+        HKWorkoutActivityType.Fencing,
+        HKWorkoutActivityType.Fishing,
+        HKWorkoutActivityType.FunctionalStrengthTraining,
+        HKWorkoutActivityType.Golf,
+        HKWorkoutActivityType.Gymnastics,
+        HKWorkoutActivityType.Handball,
+        HKWorkoutActivityType.Hiking,
+        HKWorkoutActivityType.Hockey,
+        HKWorkoutActivityType.Hunting,
+        HKWorkoutActivityType.Lacrosse,
+        HKWorkoutActivityType.MartialArts,
+        HKWorkoutActivityType.MindAndBody,
+        HKWorkoutActivityType.MixedMetabolicCardioTraining,
+        HKWorkoutActivityType.PaddleSports,
+        HKWorkoutActivityType.Play,
+//        HKWorkoutActivityType.PreparationAndRecovery,
+        HKWorkoutActivityType.Racquetball,
+        HKWorkoutActivityType.Rowing,
+        HKWorkoutActivityType.Rugby,
+        HKWorkoutActivityType.Running,
+        HKWorkoutActivityType.Sailing,
+        HKWorkoutActivityType.SkatingSports,
+        HKWorkoutActivityType.SnowSports,
+        HKWorkoutActivityType.Soccer,
+        HKWorkoutActivityType.Softball,
+        HKWorkoutActivityType.Squash,
+        HKWorkoutActivityType.StairClimbing,
+        HKWorkoutActivityType.SurfingSports,
+        HKWorkoutActivityType.Swimming,
+        HKWorkoutActivityType.TableTennis,
+        HKWorkoutActivityType.Tennis,
+        HKWorkoutActivityType.TrackAndField,
+        HKWorkoutActivityType.TraditionalStrengthTraining,
+        HKWorkoutActivityType.Volleyball,
+        HKWorkoutActivityType.Walking,
+        HKWorkoutActivityType.WaterFitness,
+        HKWorkoutActivityType.WaterPolo,
+        HKWorkoutActivityType.WaterSports,
+        HKWorkoutActivityType.Wrestling,
+        HKWorkoutActivityType.Yoga,
+        HKWorkoutActivityType.Other
     ]
 
     let generatorUnits : [String: HKUnit] = [

            let standStart = date
            let standEnd = standStart + Int(abs(x) * 60.0).seconds
            return HKCategorySample(type: ct, value: HKCategoryValueAppleStandHour.Stood.rawValue, startDate: standStart, endDate: standEnd)

        case HKCorrelationTypeIdentifierBloodPressure:
            let du = self.generatorUnits[HKQuantityTypeIdentifierBloodPressureDiastolic]!

        }
    }

    public func minutesBetweenDate(startDate: NSDate, endDate: NSDate) -> Int
    {
        let calendar = NSCalendar.currentCalendar()
        let components = calendar.components([.Minute], fromDate: startDate, toDate: endDate, options: [])
        return components.minute
    }
    
    func nextSample(type: HKSampleType, asMale: Bool = true, date: NSDate, x: Double, y: Double?) -> HKSample? {
        switch type.identifier {
        case HKCategoryTypeIdentifierSleepAnalysis:
