     private let kGlucoseRange: CGFloat = 340.0
     private let kGlucoseConversionToMgDl: CGFloat = 18.0
     private let kSkipOverlappingValues = false
+    private let highBoundary: NSNumber = 180.0
+    private let lowBoundary: NSNumber = 80.0
     // Colors
     private let highColor = Styles.purpleColor
     private let targetColor = Styles.greenColor


    private func drawBolusData(bolusData: [(timeOffset: NSTimeInterval, value: NSNumber)]) {
        
        // first figure out the range of data; only need to scale if we exceed this
        var rangeMax = CGFloat(kBolusMinScaleValue)
        for item in bolusData {
            let nextValue = CGFloat(item.1.doubleValue)
            if nextValue > rangeMax {
                rangeMax = nextValue
            }
        }
        if rangeMax > kBolusMaxScaleValue {
            rangeMax = kBolusMaxScaleValue
        }
        
        let yPixelsPerUnit = yPixelsBolus / CGFloat(rangeMax)

        // draw the items, left to right, with label on left.
        for item in bolusData {
            let context = UIGraphicsGetCurrentContext()
            
            // bolusValueRect Drawing
            // Bolus rect is center-aligned to time start
            // Carb circle should be centered at timeline
            let rectLeft = floor((CGFloat(item.0) * viewPixelsPerSec) - (kBolusRectWidth/2))
            let rectHeight = floor(yPixelsPerUnit * CGFloat(item.1.doubleValue))
            let bolusValueRectPath = UIBezierPath(rect: CGRect(x: rectLeft, y: yBottomOfBolus - rectHeight - kBolusRectYOffset, width: kBolusRectWidth, height: rectHeight))
            bolusBlueRectColor.setFill()
            bolusValueRectPath.fill()
           
            // bolusLabel Drawing
            let bolusLabelRect = CGRect(x: rectLeft - kBolusLabelToRectGap - kBolusLabelRectWidth, y: yBottomOfBolus - kBolusLabelRectHeight, width: kBolusLabelRectWidth, height: kBolusLabelRectHeight)
            let bolusLabelTextContent = String(item.1) + " u"
            let bolusLabelStyle = NSParagraphStyle.defaultParagraphStyle().mutableCopy() as! NSMutableParagraphStyle
            bolusLabelStyle.alignment = .Right
            
            let bolusLabelFontAttributes = [NSFontAttributeName: Styles.verySmallSemiboldFont, NSForegroundColorAttributeName: bolusTextBlue, NSParagraphStyleAttributeName: bolusLabelStyle]
            

        self.startTime = startTime
        self.viewPixelsPerSec = viewSize.width/CGFloat(timeIntervalForView)
        
        // Tweak: if height is less than 320 pixels, let the wizard circles drift up into the low area of the blood glucose data since that should be clear
        let wizardHeight = viewSize.height < 320.0 ? 0.0 : kGraphWizardHeight
        
        // The pie to divide is what's left over after removing constant height areas
        let graphHeight = viewSize.height - kGraphHeaderHeight - wizardHeight
        
        // The largest section is for the glucose readings just below the header
        self.yTopOfGlucose = kGraphHeaderHeight
        self.yBottomOfGlucose = self.yTopOfGlucose + floor(kGraphFractionForGlucose * graphHeight) - kGraphGlucoseBaseOffset
        self.yPixelsGlucose = self.yBottomOfGlucose - self.yTopOfGlucose
        
        // Wizard data sits above the bolus readings, in a fixed space area, overlapping the bottom of the glucose graph which should be empty of readings that low.
        self.yBottomOfWizard = self.yBottomOfGlucose + wizardHeight

        // Next down are the bolus readings
        self.yTopOfBolus = self.yBottomOfWizard + kGraphGlucoseBaseOffset
        self.yBottomOfBolus = self.yTopOfBolus + floor(kGraphFractionForBolus * graphHeight) - kGraphBolusBaseOffset
        self.yPixelsBolus = self.yBottomOfBolus - self.yTopOfBolus

        // Basal values sit just below the bolus readings
        self.yTopOfBasal = self.yBottomOfBolus + kGraphBolusBaseOffset
        self.yBottomOfBasal = self.yTopOfBasal + floor(kGraphFractionForBasal * graphHeight) - kGraphBasalBaseOffset
        self.yPixelsBasal = self.yBottomOfBasal - self.yTopOfBasal

        // Workout durations go in the bottom section
        self.yTopOfWorkout = yBottomOfBasal + kGraphBasalBaseOffset
        self.yBottomOfWorkout = self.yTopOfWorkout + floor(kGraphFractionForWorkout * graphHeight) - kGraphWorkoutBaseOffset
        self.yPixelsWorkout = self.yBottomOfWorkout - self.yTopOfWorkout
    }
