working on async parts using jQuery.deferred