diff --git a/bs4-test.html b/bs4-test.html
index b30b4d9..7f2ae9d 100644
--- a/bs4-test.html
+++ b/bs4-test.html
@@ -88,7 +88,7 @@
         
-          let result = await BSDialog.ShowPrompt({
+          let result = await BSDialog.Prompt({
                 Title: "Prompt",
                 Message: "This is a prompt",
                 Size: "md",
@@ -138,7 +138,7 @@ $(document).ready(function(){
   });
 
   $("#button5").on('click', async function(){
-    let result = await BSDialog.ShowPrompt({
+    let result = await BSDialog.Prompt({
       Title: "Prompt",
 		  Message: "This is a prompt",
 		  Size: "md",
diff --git a/bsdialog4.js b/bsdialog4.js
index f699c6a..437bd80 100644
--- a/bsdialog4.js
+++ b/bsdialog4.js
@@ -4,22 +4,14 @@
  */
 var BSDialog = {
 	Create: async function (id, title, url, size) {
-		var a = this;
-
-		a.id = id;
-		a.pfx = "bsdia4_";
-		a.body = document.getElementsByTagName("body")[0];
-
-		a.addBackdrop();
-		a.addModal(id, title, size);
-
-		if (a.isNullOrWhitespace(url)) {
-			a.UpdateBody(id, "");
-	  } else if (url.startsWith("http://") || url.startsWith("https://") || url.startsWith("/")) {
-			a.UpdateBodyRemote(id, url);
-		} else {
-			await a.UpdateBody(id, url);
-		}
+		await this.Show({
+			ID: id,
+			Title: title,
+			Message: url,
+			URL: url,
+			Size: size,
+			Colour: "secondary"
+		});
 	},
 	Clear: function () {
 		this.body.querySelectorAll(".modal").forEach(function(e) {
@@ -132,19 +124,54 @@ var BSDialog = {
 			Modal: modal
 		};
 	},
-	ShowToast: function (id, title, message, size) {
+	Show: async function (options) {
 		const a = this;
+		const _options = Object.assign(a.DefaultShowOptions, options);
 
-		a.Create(id, title, null, size);
-		a.UpdateBody(id, message);
+		a.id = _options.ID;
+		a.pfx = "bsdia4_";
+		a.body = document.getElementsByTagName("body")[0];
 
-		const modal = a.Find(id);
+		a.addBackdrop();
+		a.addModal(_options.ID, _options.Title, _options.Size);
+
+		if (_options.URL == null) {
+			await a.UpdateBody(_options.ID, _options.Message);
+		} else {
+			if (a.isNullOrWhitespace(_options.URL)) {
+				await a.UpdateBody(_options.ID, _options.URL);
+			} else {
+				if (_options.URL.startsWith("http://") || _options.URL.startsWith("https://") || _options.URL.startsWith("/")) {
+					await a.UpdateBodyRemote(_options.ID, _options.URL);
+				} else {
+					await a.UpdateBody(_options.ID, _options.URL);
+				}
+			}
+		}
+	},
+	Toast: function (options) {
+		const a = this;
+		const _options = Object.assign(a.DefaultToastOptions, options);
+
+		a.Create(_options.ID, _options.Title, null, _options.Size);
+		a.UpdateBody(_options.ID, _options.Message);
+
+		const modal = a.Find(_options.ID);
 
 		modal.Footer.forEach(function(e) {
 			e.parentNode.removeChild(e);
 		});
+
 	},
-	ShowPrompt: async function (options) {
+	ShowToast: function (id, title, message, size) {
+		this.Toast({
+			ID: id,
+			Title: title,
+			Message: message,
+			Size: size
+		});
+	},
+	Prompt: async function (options) {
 		const a = this;
 		let id = "prompt" + Math.floor(Math.random() * 10000) + 1000;
 
@@ -189,6 +216,20 @@ var BSDialog = {
 
 		});
 	},
+	DefaultShowOptions: {
+		ID: null,
+		Title: "",
+		Message: "",
+		URL: null,
+		Size: "md",
+		Colour: "secondary"
+	},
+	DefaultToastOptions: {
+		ID: null,
+		Title: "",
+		Message: "",
+		Size: "md"
+	},
 	DefaultPromptOptions: {
 		Title: "",
 		Message: "",
diff --git a/bsdialog4.min.js b/bsdialog4.min.js
index eddb451..00bf345 100644
--- a/bsdialog4.min.js
+++ b/bsdialog4.min.js
@@ -2,3 +2,4 @@
  * BSDialog4
  * @version v0.1.2.043 (2023/08/20 00:39)
  */
+var BSDialog={Create:async function(t,e,o,l){await this.Show({ID:t,Title:e,Message:o,URL:o,Size:l,Colour:"secondary"})},Clear:function(){this.body.querySelectorAll(".modal").forEach((function(t){t.parentNode.removeChild(t)})),this.removeBackdrop()},Close:function(t){let e=this.Find(t);null!==e&&(e.Modal.forEach((function(t){t.parentNode.removeChild(t)})),e=this.Find(t),null===e&&this.removeBackdrop())},UpdateTitle:function(t,e){let o=this.Find(t);null!==o&&o.Title.forEach((function(t){t.innerHTML=e}))},UpdateSize:function(t,e){let o=this.Find(t);null!==o&&o.Modal.forEach((function(t){let o=t.querySelectorAll(".modal-dialog")[0];o.classList.remove("modal-sm"),o.classList.remove("modal-md"),o.classList.remove("modal-lg"),o.classList.remove("modal-xl"),o.classList.add("modal-"+e)}))},UpdateBody:function(t,e){var o=this;let l=o.Find(t);null!==l&&l.Body.forEach((function(t){o.html(t,e)}))},UpdateBodyRemote:async function(t,e){var o=this;o.Exists(t)&&await fetch(e,{cache:"no-cache",credentials:"same-origin"}).then((t=>t.text())).then((e=>{o.UpdateBody(t,e)})).catch((e=>{o.UpdateBody(t,"Error: "+e)}))},UpdateFooter:function(t,e){var o=this;let l=o.Find(t);null!==l&&l.Footer.forEach((function(t){o.html(t,e)}))},Exists:function(t){return null!==this.Find(t)},Find:function(t){let e=this.body.querySelectorAll("#"+this.pfx+t+".modal");return e?e.length<=0?null:{Title:e[0].querySelectorAll(".modal-title"),Body:e[0].querySelectorAll(".modal-body"),Footer:e[0].querySelectorAll(".modal-footer"),Close:e[0].querySelectorAll("[data-dismiss='modal']"),Modal:e}:null},Show:async function(t){const e=this,o=Object.assign(e.DefaultShowOptions,t);e.id=o.ID,e.pfx="bsdia4_",e.body=document.getElementsByTagName("body")[0],e.addBackdrop(),e.addModal(o.ID,o.Title,o.Size),null==o.URL?await e.UpdateBody(o.ID,o.Message):e.isNullOrWhitespace(o.URL)?await e.UpdateBody(o.ID,o.URL):o.URL.startsWith("http://")||o.URL.startsWith("https://")||o.URL.startsWith("/")?await e.UpdateBodyRemote(o.ID,o.URL):await e.UpdateBody(o.ID,o.URL)},Toast:function(t){const e=this,o=Object.assign(e.DefaultToastOptions,t);e.Create(o.ID,o.Title,null,o.Size),e.UpdateBody(o.ID,o.Message);e.Find(o.ID).Footer.forEach((function(t){t.parentNode.removeChild(t)}))},ShowToast:function(t,e,o,l){this.Toast({ID:t,Title:e,Message:o,Size:l})},Prompt:async function(t){const e=this;let o="prompt"+Math.floor(1e4*Math.random())+1e3;const l=Object.assign(e.DefaultPromptOptions,t);return await new Promise(((t,a)=>{e.Create(o,l.Title,l.Message,l.Size);let s="";l.Buttons.forEach((function(t){s+='
'+t.Label+" "})),e.UpdateFooter(o,s);const n=e.Find(o);n.Footer[0].querySelectorAll("button").forEach((function(l){l.addEventListener("click",(function(a){a.stopPropagation(),a.preventDefault();const s=l.getAttribute("data-prompt-value");e.Close(o),t(s)}))})),n.Close.forEach((function(l){l.addEventListener("click",(function(l){l.stopPropagation(),l.preventDefault(),e.Close(o),t("")}))}))}))},DefaultShowOptions:{ID:null,Title:"",Message:"",URL:null,Size:"md",Colour:"secondary"},DefaultToastOptions:{ID:null,Title:"",Message:"",Size:"md"},DefaultPromptOptions:{Title:"",Message:"",Size:"md",Buttons:[{Label:"Yes",Value:"Yes",Colour:"primary"},{Label:"No",Value:"No",Colour:"secondary"},{Label:"Cancel",Value:"Cancel",Colour:"secondary"}]},addBackdrop:function(){let t=this;t.body.querySelectorAll(".modal-backdrop").length>0||(t.appendHtml(t.body,'
'),t.body.classList.add("modal-open"),t.body.style.overflow="hidden",t.body.querySelectorAll(".modal-backdrop")[0].addEventListener("click",(function(e){e.stopPropagation(),e.preventDefault(),t.Clear()})))},addModal:function(t,e,o){var l=this;let a=l.Find(t);if(null!==a)return;let s="";s+='
',s+='  
',s+='    
',s+='      ",s+='      
',s+='
',s+='  
',s+='    
',s+='\t     Loading... ',s+="    
",s+="  
",s+="
",s+="      
",s+='      ",s+="    
",s+="  
",s+="
",l.appendHtml(l.body,s),a=l.Find(t),null!==a&&a.Close.forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation(),e.preventDefault(),l.Close(t)})),e.addEventListener("auxclick",(function(t){t.stopPropagation(),t.preventDefault(),1===t.button&&l.toggleSize()}))}))},appendHtml:function(t,e){let o=document.createElement("template");o.innerHTML=e,o=o.content.firstChild,t.appendChild(o)},html:function(t,e){jQuery?jQuery(t).html(e):t.innerHTML=e},isNullOrWhitespace:function(t){return void 0===t||(null==t||(0==t||t.trim().length<=0))},removeBackdrop:function(){if(this.body.querySelectorAll(".modal-backdrop").length<=0)return;if(this.body.querySelectorAll(".modal").length>0)return;let t=this.body.querySelectorAll(".modal-backdrop")[0];t.parentNode.removeChild(t),this.body.classList.remove("modal-open"),this.body.style.overflow=null},toggleSize:function(){let t=this.Find(this.id);if(null===t)return;let e=t.Modal[0].querySelectorAll(".modal-dialog")[0];e.classList.contains("modal-sm")?(e.classList.remove("modal-sm"),e.classList.add("modal-md")):e.classList.contains("modal-md")?(e.classList.remove("modal-md"),e.classList.add("modal-lg")):e.classList.contains("modal-lg")?(e.classList.remove("modal-lg"),e.classList.add("modal-xl")):e.classList.contains("modal-xl")?(e.classList.remove("modal-xl"),e.classList.add("modal-sm")):(e.classList.remove("modal-sm"),e.classList.remove("modal-md"),e.classList.remove("modal-lg"),e.classList.remove("modal-xl"),e.classList.add("modal-md"))}};
\ No newline at end of file