 
   addEvents: (calendarId, events) ->
     action = (resolve, reject) ->
+      data = []
+      httpResponses = []
       numEvents = events.length
       count = 0
       i = 0
       while i < numEvents
         @addEvent(calendarId, events[i])
         .then (args) ->
+          httpResponses.push args.res
+          data.push args.data
           count++
           if count >= numEvents
-            resolve()
+            resolve(httpResponses, data)
         , (err) ->
+          httpResponses.push args.res
+          data.push args.data
           count++
           if count >= numEvents
-            reject()
+            reject(httpResponses, data)
         i++
       return
     new Promise(action.bind(@))


  deleteEvents: (calendarId, eventIds) ->
    action = (resolve, reject) ->
      numEvents = eventIds.length
      count = 0
      i = 0

        eventId = eventIds[i]
        @deleteEvent(calendarId, eventId)
        .then (args) ->
          httpResponses.push args.res
          data.push args.data
          count++
          if count >= numEvents
            resolve(httpResponses, data)
        , (err) ->
          httpResponses.push args.res
          data.push args.data
          count++
          if count >= numEvents
            reject(httpResponses, data)
        i++
      return
    new Promise(action.bind(@))
