using deferred.reject in spite of throw for errors --> use fail callback to handle errors
Using $.getJSON instead of $.get, which does not break Cordova loading from local files