properly returing JQueryPromise instead of JQueryDeferred