         let formatter = NSDateFormatter()
         formatter.dateStyle = .ShortStyle
         formatter.timeStyle = .ShortStyle
-        smappeeController.sendServiceLocationRequest { r in
-            r.flatMap({ valueOrError($0.first, "No service locations found")
-            }).flatMap(self.smappeeController.sendServiceLocationInfoRequest) { r in
-                switch r {
-                case .Success(let box):
-                    let info = box.unbox
-                    self.smappeeController.sendConsumptionRequest(info.serviceLocation, from: NSDate(timeIntervalSinceNow: -3600*24*100), to: NSDate(), aggregation: .Monthly) { r in
-                        if let consumptions = r.value {
-                            for consumption in consumptions {
-                                let date = formatter.stringFromDate(consumption.timestamp)
-                                println("Event: \(consumption.consumption) - \(consumption.alwaysOn) - \(date)")
-                            }
-                        }
+        getServiceLocationInfo { r in
+            r.flatMap(self.getConsumptionFromInfo) { r in
+                if let consumptions = r.value {
+                    for consumption in consumptions {
+                        let date = formatter.stringFromDate(consumption.timestamp)
+                        println("Event: \(consumption.consumption) - \(consumption.alwaysOn) - \(date)")
                     }
-                    
-                    self.actuator = info.actuators.first
-                    println("Success")
-                case .Failure(let box):
-                    let errorMessage = box.unbox
-                    println(errorMessage)
                 }
-                self.updateButtonStates()
-            }
-        }
-    }
-
-    
+            }
+        }
+    }
     
     func actuatorOn(actuator: Actuator) {
         smappeeController.sendTurnOnRequest(actuator, duration: .FiveMinutes) { result in }


    let smappeeController: SmappeeController
    var serviceLocation: ServiceLocation?
    var actuator: Actuator?
    
    var loginCompletion: ((SmappeeCredentialsResult) -> Void)?

    
    // MARK: IB Actions
    @IBAction func serviceLocationsAction(sender: AnyObject) {
        getActuator()
    }
    
    @IBAction func actuatorOneOn(sender: AnyObject) {
