added the new then method in deferred