     // MARK: Raw Motion Functions
     func startMotionUpdates(){
         // some internal inconsistency here: we need to ask the device manager for device
-        
-        // TODO: should we be doing this from the MAIN queue? You will need to fix that!!!....
         if self.motion.isDeviceMotionAvailable{
-            self.motion.startDeviceMotionUpdates(to: OperationQueue.main, withHandler: self.handleMotion)
+            self.motion.startDeviceMotionUpdates(to: motionQueue, withHandler: self.handleMotion)
         }
     }
     

    func startActivityMonitoring(){
        // is activity is available
        if CMMotionActivityManager.isActivityAvailable(){
            // update from this queue (should we use the MAIN queue here??.... )
            self.activityManager.startActivityUpdates(to: OperationQueue.main, withHandler: self.handleActivity)
        }
        
    }

    let pedometer = CMPedometer()
    let motion = CMMotionManager()
    var totalSteps: Float = 0.0
    let motionQueue = OperationQueue()
    let numberToolbar: UIToolbar = UIToolbar()
    
    override func viewDidLoad() {
