docs: function (web, ctx) {
  		return $.Deferred(function (dfd) {
  
  			ctx = ctx || SP.ClientContext.get_current();
  			web = web || ctx.get_web();
  			var templates = web.getAvailableWebTemplates(1033, false); ctx.load(templates); ctx.executeQueryAsync(
  				function () {
  					var templateArray = ns.sp.collectionToArray(templates);
  					dfd.resolve(templateArray);
  				},
  				function onError(sender, args) {
  					dfd.reject({ sender: sender, args: args });
  				});
  		}).promise();
  
  	}