   ###
   loadProjects: (params) =>
     @Log.debug "loadProjects start"
-    deferred = @$q.defer()
+    r = @_bindDefer(null, null, "loadProjects")
 
     params = params or {}
     params.limit = params.limit or Redmine.LIMIT_MAX

          @Log.groupCollapsed "redmine.loadProjects()"
          @Log.table data.projects
          @Log.groupEnd "redmine.loadProjects()"
        deferred.resolve(data, status))
      .error((data, status, headers, config) =>
        if data is "" then data = {error: "Cann't connection.", stats: status}
        data.account = @auth
        deferred.reject(data, status))

    return deferred.promise


  ###

   laod time entry. uses promise.
  ###
  loadTimeEntries: (params) ->
    r = @_bindDefer(null, null, "loadTimeEntries")
    params = params or {}
    params.limit = params.limit or Redmine.LIMIT_MAX
    config =
