diff --git a/mostrami/resources/ecs/mostrami.txt b/mostrami/resources/ecs/mostrami.txt
index d083925..72cb832 100644
--- a/mostrami/resources/ecs/mostrami.txt
+++ b/mostrami/resources/ecs/mostrami.txt
@@ -11,10 +11,10 @@
     div Tabs
     div Tab
     div ScriptName
-    div DefaultsPanel
+    div StepsPanel
     div BlocksPanel
     div ContentPanel
-    div StepsPanel
+    div DefaultsPanel
     span Status
     span Span
     input NameEditor
@@ -26,10 +26,10 @@
     img Delete
     img Cycle
     a Link
-    module DefaultsModule
+    module StepsModule
     module BlocksModule
     module ContentModule
-    module StepsModule
+    module DefaultsModule
     variable Mobile
     variable Current
     variable Content
@@ -46,7 +46,7 @@
     variable Message
     variable Section
     variable Item
-    variable Array
+    variable CurrentScriptName
     variable N
 
   ! The browser
@@ -162,9 +162,9 @@ L2:
     index SectionButton to 0
     create SectionButton in Tab
     set the style of SectionButton to `width:100%`
-    set the content of SectionButton to `Defaults`
-    create DefaultsPanel in ContentDiv
-    set the style of DefaultsPanel to `position:absolute;left:0;top:0;width:100%;height:100%;`
+    set the content of SectionButton to `Steps`
+    create StepsPanel in ContentDiv
+    set the style of StepsPanel to `position:absolute;left:0;top:0;width:100%;height:100%;`
     create Tab in Tabs
     set the style of Tab to `display:inline-block;width:` cat N cat `px`
     index SectionButton to 1
@@ -186,24 +186,13 @@ L2:
     index SectionButton to 3
     create SectionButton in Tab
     set the style of SectionButton to `width:100%`
-    set the content of SectionButton to `Steps`
-    create StepsPanel in ContentDiv
-    set the style of StepsPanel to `position:absolute;left:0;top:0;width:100%;height:100%;`
+    set the content of SectionButton to `Defaults`
+    create DefaultsPanel in ContentDiv
+    set the style of DefaultsPanel to `position:absolute;left:0;top:0;width:100%;height:100%;`
     
-    put -1 into Section
-    on click SectionButton
-    begin
-    	put the index of SectionButton into N
-    	if Section is not -1
-        begin
-        	index SectionButton to Section
-            set style `background` of SectionButton to ``
-        end
-    	put N into Section
-        index SectionButton to Section
-        set style `background` of SectionButton to `lightgray`
-        gosub to UpdateCurrentSection
-    end
+    put 0 into Section
+    index SectionButton to 0
+    on click SectionButton gosub to SelectSection
     
 !	Create the file browser
     create Overlay in Body
@@ -232,8 +221,8 @@ L2:
     
     on click New
     begin
-    	gosub to StopTestModule
-    	if Content is not Current
+!    	gosub to StopTestModule
+    	if Presentation is not Current
     	begin
 			if confirm `Content has changed. Do you want to save it?`
 			begin
@@ -243,14 +232,16 @@ L2:
         			set the content of Status to `No script name has been given`
         			go to ResetStatus
       			end
-    	  		if PasswordValid rest post Content to `_save/json~` cat Name
-      			else put Content into storage as CurrentName
+    	  		if PasswordValid rest post Presentation to `_save/json/` cat Name
+      			else put Presentation into storage as CurrentName
             end
     	end
     	clear FileIsOpen
         set the content of NameEditor to empty
-        put empty into Content
-        put Content into Current
+        put empty into CurrentScriptName
+        put empty into Presentation
+        put empty into Current
+    	gosub to UpdateCurrentSection
 	end
 
     on click Open go to DoOpen
@@ -264,14 +255,17 @@ L2:
             set the content of Status to `No script name has been given`
             go to ResetStatus
         end
-        if the position of `.ecs` in Name is -1 put Name cat `.ecs` into Name
+        if the position of `.json` in Name is -1 put Name cat `.json` into Name
         replace ` ` with `_` in Name
-        if Content is not Current
+        set the content of NameEditor to Name
+        if Name is not CurrentScriptName put empty into Current
+        if Presentation is not Current
         begin
-            if PasswordValid rest post Content to `_save/json~` cat Name
-            else put Content into storage as Name
-            put Content into Current
+            if PasswordValid rest post Presentation to `_save/json/` cat Name
+            else put Presentation into storage as Name
+            put Presentation into Current
             set the content of Status to `Presentation '` cat Name cat `' saved`
+            put Name into CurrentScriptName
             fork to ResetStatus
         end
         else
@@ -292,43 +286,29 @@ L2:
         end
         if confirm `Are you sure you want to delete "` cat Name cat `"?`
         begin
-            if PasswordValid rest post Content to `_delete/json~` cat Name
+            if PasswordValid rest post to `_delete/json/` cat Name
             else remove Name from storage
             set the content of Status to `Script "` cat Name cat `" deleted`
             set the content of NameEditor to empty
-            put empty into Content
-            put Content into Current
+            put empty into CurrentScriptName
+            put empty into Presentation
+            put Presentation into Current
             go to ResetStatus
         end
     end
     
-    set Presentation to object
-    set Item to object
-    set property `global` of Presentation to Item
-    set property `container` of Presentation to Item
-    set property `defaults` of Presentation to Item
-    set property `blocks` of Presentation to Item
-    set property `content` of Presentation to Item
-    set Item to object
-    set property `comment` of Item to `Pause for a second`
-    set property `action` of Item to `pause`
-    set property `duration` of Item to 1
-    set Array to array
-    json add Item to Array
-    set property `steps` of Presentation to Array
-    put Presentation into Current
-    gosub to SetupDefaults
+    gosub to SetupSteps
     gosub to SetupBlocks
     gosub to SetupContent
-    gosub to SetupSteps
-    gosub to UpdateCurrentSection
+    gosub to SetupDefaults
+    gosub to SelectSection
 	stop
 
-SetupDefaults:
-    if DefaultsModule is not running
+SetupSteps:
+    if StepsModule is not running
     begin
-    	rest get Script from `/resources/ecs/defaults.txt`
-        run Script with DefaultsPanel and Presentation as DefaultsModule
+    	rest get Script from `/resources/ecs/steps.txt`
+        run Script with StepsPanel and Presentation as StepsModule
     end
     return
 
@@ -348,23 +328,31 @@ SetupContent:
     end
     return
 
-SetupSteps:
-    if StepsModule is not running
+SetupDefaults:
+    if DefaultsModule is not running
     begin
-    	rest get Script from `/resources/ecs/steps.txt`
-        run Script with StepsPanel and Presentation as StepsModule
+    	rest get Script from `/resources/ecs/defaults.txt`
+        run Script with DefaultsPanel and Presentation as DefaultsModule
     end
     return
 
+SelectSection:
+    put the index of SectionButton into N
+    index SectionButton to Section
+    set style `background` of SectionButton to ``
+    put N into Section
+    index SectionButton to Section
+    set style `background` of SectionButton to `lightgray`
+
 UpdateCurrentSection:
-    set style `display` of DefaultsPanel to `none`
+    set style `display` of StepsPanel to `none`
     set style `display` of BlocksPanel to `none`
     set style `display` of ContentPanel to `none`
-    set style `display` of StepsPanel to `none`
+    set style `display` of DefaultsPanel to `none`
     if Section is 0
     begin
-    	set style `display` of DefaultsPanel to `block`
-    	send to DefaultsModule
+    	set style `display` of StepsPanel to `block`
+    	send to StepsModule
     end
     else if Section is 1
     begin
@@ -378,8 +366,8 @@ UpdateCurrentSection:
     end
     else if Section is 3
     begin
-    	set style `display` of StepsPanel to `block`
-    	send to StepsModule
+    	set style `display` of DefaultsPanel to `block`
+    	send to DefaultsModule
     end
 	return
 
@@ -392,7 +380,7 @@ DoOpen:
     begin
       if confirm `Content has changed. Do you want to save it?`
       begin
-      	if PasswordValid rest post Content to `_save/json~` cat Name
+      	if PasswordValid rest post Content to `_save/json/` cat Name
       	else put Content into storage as Name
       end
     end
@@ -484,6 +472,7 @@ DoOpen:
 SelectFile:
     index File to the index of FileName
     set the content of NameEditor to File
+    put File into CurrentScriptName
 	if PasswordValid rest get Presentation from `/resources/json/` cat File
     else get Presentation from storage as File
     put Presentation into Current
diff --git a/mostrami/resources/ecs/scripted.txt b/mostrami/resources/ecs/scripted.txt
index 297103b..8c82325 100644
--- a/mostrami/resources/ecs/scripted.txt
+++ b/mostrami/resources/ecs/scripted.txt
@@ -130,7 +130,7 @@
     put the content of ContentEditor into Content
     if Content is not Current
     begin
-      rest post Content to `_save/resources/ecs/` cat Name
+      rest post Content to `_save/ecs/` cat Name
       put Content into Current
       set the content of Status to `Script '` cat Name cat `' saved`
       fork to ResetStatus
@@ -156,7 +156,7 @@
     if confirm `Are you sure you want to delete '` cat Name cat `'?`
     begin
       codemirror close ContentEditor
-      rest post to `_delete/resources/ecs/` cat Name
+      rest post to `_delete/ecs/` cat Name
       set the content of Status to `Script '` cat Name cat `' deleted`
       set the content of NameEditor to empty
       put empty into Content
@@ -168,15 +168,21 @@
   stop
 
 DoOpen:
-  if FileIsOpen codemirror close ContentEditor
   put the content of ContentEditor into Content
   if Content is not Current
   begin
     if confirm `Content has changed. Do you want to save it?`
     begin
-      rest post Content to `_save/resources/ecs/' cat CurrentName
+      rest post Content to `_save/ecs/' cat CurrentName
     end
+    else stop
+!    begin
+!  		codemirror attach to ContentEditor
+!  		codemirror set content of ContentEditor to Content
+!    	stop
+!    end
   end
+  if FileIsOpen codemirror close ContentEditor
 
 ! Animate the background
   set style `display` of Overlay to `block`
@@ -268,4 +274,4 @@ CloseBrowser:
 ResetStatus:
   wait 2
   set the content of Status to ``
-  stop
+  stop
\ No newline at end of file
diff --git a/mostrami/resources/ecs/steps.txt b/mostrami/resources/ecs/steps.txt
index c1a4126..28000b9 100644
--- a/mostrami/resources/ecs/steps.txt
+++ b/mostrami/resources/ecs/steps.txt
@@ -10,9 +10,9 @@
     div BlockTable
     div BlockRow
     div BlockData
+    div Row
+    div Cell
     button Step
-    button Save
-    button Delete
     button Header
     button InsertBefore
     button InsertAfter
@@ -32,6 +32,7 @@
     input URLInput
     img PlusIcon
     img DeleteIcon
+    img DeleteStep
     a Link
     variable Steps
     variable SelectedStep
@@ -53,6 +54,7 @@
     variable TransitionType
     variable ContinueTypes
     variable TrueFalse
+    variable Array
     variable N
     variable B
     
@@ -75,21 +77,34 @@ Start:
 	set style `display` of Panel to `flex`
 	set style `flex-direction` of Panel to `column`
     
+    if Presentation is empty gosub to CreateNewPresentation
+    
 	clear EditPanel
 	clear StepsPanel
     set the content of StepsTitle to `Steps`
 	put property `steps` of Presentation into Steps
     set the elements of Step to the json count of Steps
+    set the elements of DeleteStep to the json count of Steps
     put 0 into N
     while N is less than the elements of Step
     begin
     	index Step to N
-        dummy
-    	create Step in StepsPanel
-        set the style of Step to `width:100%;font-size:1.2em;margin:0.2em 0`
+    	create Row in StepsPanel
+        set the style of Row to `display:flex;margin:0.2em 0`
+    	create Step in Row
+        set the style of Step to `flex:1;font-size:1.2em`
         put element N of Steps into Item
         gosub to CheckActionSyntax
         set the text of Step to property `comment` of Item
+        create Cell in Row
+        set the style of Cell to `width:2.2em;text-align:center`
+        if N is greater than 0
+        begin
+	        index DeleteStep to N
+	        create DeleteStep in Cell
+	        set the style of DeleteStep to `width:1.8em`
+	        set attribute `src` of DeleteStep to `resources/icon/stop.png`
+        end
     	add 1 to N
     end
     on click Step
@@ -132,6 +147,24 @@ Start:
     
     stop
 
+CreateNewPresentation:
+    set Presentation to object
+    set Item to object
+    set property `global` of Presentation to Item
+    set property `container` of Presentation to Item
+    set property `defaults` of Presentation to Item
+    set property `blocks` of Presentation to Item
+    set property `content` of Presentation to Item
+    set Item to object
+    set property `comment` of Item to `Wait for user input`
+    set property `action` of Item to `hold`
+    set property `duration` of Item to 0
+    set property `label` of Item to ``
+    set Array to array
+    json add Item to Array
+    set property `steps` of Presentation to Array
+	return
+
 !	Edit a single step
 EditStep:
 	put property `blocks` of Presentation into Blocks
@@ -201,29 +234,15 @@ ReloadStepEditor:
     create TD in TR
     create TD in TR
     create InsertBefore in TD
-    set the style of InsertBefore to `width:10%`
-    set the text of InsertBefore to `<+`
+    set the style of InsertBefore to `width:50%`
+    set the text of InsertBefore to `Add Step Before`
     on click InsertBefore
     begin
     	alert `Insert Before`
     end
-    create Save in TD
-    set the style of Save to `width:40%`
-    set the text of Save to `Save`
-    on click Save
-    begin
-    	alert `Save`
-    end
-    create Delete in TD
-    set the style of Delete to `width:40%`
-    set the text of Delete to `Delete`
-    on click Delete
-    begin
-    	alert `Delete`
-    end
     create InsertAfter in TD
-    set the style of InsertAfter to `width:10%`
-    set the text of InsertAfter to `+>`
+    set the style of InsertAfter to `width:50%`
+    set the text of InsertAfter to `Add Step After`
     on click InsertAfter
     begin
     	alert `Insert After`
@@ -638,4 +657,4 @@ CheckActionSyntax:
     	put property `url` of Item into URL
         if URL is empty set property `url` of Item to `******`
     end
-	return
+	return
\ No newline at end of file
diff --git a/mostrami/resources/json/demo.json b/mostrami/resources/json/demo.json
index 5185eb7..7b098f5 100644
--- a/mostrami/resources/json/demo.json
+++ b/mostrami/resources/json/demo.json
@@ -102,14 +102,19 @@
         },
         "flowers": {
             "type": "image",
-            "url": "img/flowers.jpg"
+            "url": "resources/img/flowers.jpg"
         },
         "moon": {
             "type": "image",
-            "url": "img/moon.jpg"
+            "url": "resources/img/moon.jpg"
         }
     },
     "steps": [
+        {
+            "comment": "-------------------------------- Load the test module",
+            "action": "load",
+            "url": "resources/plugins/test.js"
+        },
         {
             "comment": "------------------------------- Pause before we start",
             "action": "pause",
@@ -137,7 +142,9 @@
         {
             "comment": "----------------------------- Fade up the intro title",
             "action": "fade up",
-            "blocks": "title",
+            "blocks": [
+                "title"
+            ],
             "duration": 3
         },
         {
@@ -167,9 +174,17 @@
         {
             "comment": "-------------------------------- Show the first slide",
             "action": "fade up",
-            "blocks": "body",
+            "blocks": [
+                "body"
+            ],
             "duration": 1
         },
+        {
+            "comment": "--------------------------------- Run the test plugin",
+            "action": "test",
+            "block": "title",
+            "duration": 0.5
+        },
         {
             "comment": "------------------------------------- Wait 10 seconds",
             "action": "hold",
@@ -180,7 +195,8 @@
             "action": "crossfade",
             "block": "body",
             "target": "slide 2",
-            "duration": 1
+            "duration": 1,
+            "label": "loop"
         },
         {
             "comment": "-------------------------------------- Wait 5 seconds",
@@ -201,7 +217,9 @@
         {
             "comment": "----------------------------- Fade up the image block",
             "action": "fade up",
-            "blocks": "left image",
+            "blocks": [
+                "left image"
+            ],
             "duration": 2
         },
         {
@@ -224,8 +242,12 @@
         {
             "comment": "-------------------------------- Change the body text",
             "action": "set content",
-            "block": "body",
-            "content": "slide 3"
+            "blocks": [
+                {
+                    "block": "body",
+                    "content": "slide 3"
+                }
+            ]
         },
         {
             "comment": "------------------------------------- Wait 10 seconds",
@@ -242,14 +264,10 @@
             ],
             "duration": 3
         },
-        {
-            "comment": "----------------------------------------------- Reset",
-            "action": "reset"
-        },
         {
             "comment": "-------------------------------- Go back to the start",
             "action": "goto",
             "target": "start"
         }
     ]
-}
+}
\ No newline at end of file
diff --git a/mostrami/resources/json/test.json b/mostrami/resources/json/test.json
index eeff254..f713a09 100644
--- a/mostrami/resources/json/test.json
+++ b/mostrami/resources/json/test.json
@@ -1,273 +1 @@
-{
-    "global": {
-        "title": "JSON::Presenter",
-        "description": "A demo presentation that outlines some features of JSON::Presenter",
-        "aspectW": 160,
-        "aspectH": 89
-    },
-    "container": {
-        "border": "1px solid black",
-        "background": "black"
-    },
-    "defaults": {
-        "fontFamily": "Times New Roman,serif",
-        "fontSize": 40,
-        "fontWeight": "normal",
-        "fontStyle": "normal",
-        "fontColor": "white",
-        "textAlign": "left",
-        "textMarginLeft": 0,
-        "textMarginTop": 0,
-        "blockLeft": 0,
-        "blockTop": 0,
-        "blockWidth": 1000,
-        "blockBackground": "none",
-        "blockBorder": "none",
-        "blockBorderRadius": 0
-    },
-    "blocks": {
-        "title": {
-            "blockTop": 300,
-            "blockHeight": 300,
-            "textAlign": "center",
-            "fontSize": 200,
-            "fontWeight": "bold",
-            "fontColor": "#800000"
-        },
-        "title 2": {
-            "blockTop": 50,
-            "blockHeight": 150,
-            "textAlign": "center",
-            "fontSize": 100,
-            "fontWeight": "bold",
-            "fontColor": "#dddd00"
-        },
-        "body": {
-            "blockLeft": 80,
-            "blockTop": 240,
-            "blockWidth": 840,
-            "blockHeight": 800,
-            "fontFamily": "Helvetica,sans-serif",
-            "fontColor": "#dddddd"
-        },
-        "body right": {
-            "blockLeft": 500,
-            "blockTop": 200,
-            "blockWidth": 420,
-            "blockHeight": 800,
-            "fontFamily": "Helvetica,sans-serif",
-            "fontColor": "#dddddd"
-        },
-        "left image": {
-            "blockLeft": 80,
-            "blockTop": 200,
-            "blockWidth": 370,
-            "blockHeight": 700,
-            "blockBorder": "1px solid black",
-            "blockBorderRadius": "1em"
-        }
-    },
-    "content":  {
-        "presenter title": {
-            "type": "text",
-            "content": "JSON::Presenter"
-        },
-        "slide 1": {
-            "type": "text",
-            "content": [
-                "JSON::Presenter is a presentation format using JSON scripts, and an engine that runs those scripts in a browser to create presentations. These may be similar to those created using PowerPoint or they can be considerably more elaborate, with extensive animation and even sound. In some cases they can take the place of video yet still offer a dynamic experience.",
-                
-                "Presentations can run from any host, including static; all you need is one CDN-hosted JavaScript file and you're good to go.",
-                
-                "The JSON::Presenter engine is pure JavaScript. It can be used with any JavaScript framework, or with none."
-            ]
-        },
-        "slide 2": {
-            "type": "text",
-            "content": [
-                "JSON::Presenter offers a range of block types and transitions that make it easy to create slick, effective presentations.",
-                
-                "This short demo illustrates some of the features of the system."
-            ]
-        },
-        "slide 3": {
-            "type": "text",
-            "content": [
-                "Text and image blocks can be manipulated in a variety of different ways.",
-                
-                "Any block can be resized or moved; text can be substituted or have its size or color change; images can be assigned to blocks. Any block can be faded or transformed using animations.",
-                
-                "The JSON::Presenter scripting language uses simple data JSON structures and is easy to read or write."
-            ]
-        },
-        "flowers": {
-            "type": "image",
-            "url": "resources/img/flowers.jpg"
-        },
-        "moon": {
-            "type": "image",
-            "url": "resources/img/moon.jpg"
-        }
-    },
-    "steps": [
-        {
-            "comment": "-------------------------------- Load the test module",
-            "action": "load",
-            "url": "resources/plugins/test.js"
-        },
-        {
-            "comment": "------------------------------- Pause before we start",
-            "action": "pause",
-            "duration": 2,
-            "label": "start"
-        },
-        {
-            "comment": "---------------------------------- Set up the content",
-            "action": "set content",
-            "blocks": [
-                {
-                    "block": "title",
-                    "content": "presenter title"
-                },
-                {
-                    "block": "body",
-                    "content": "slide 1"
-                },
-                {
-                    "block": "left image",
-                    "content": "flowers"
-                }
-            ]
-        },
-        {
-            "comment": "----------------------------- Fade up the intro title",
-            "action": "fade up",
-            "blocks": [
-                "title"
-            ],
-            "duration": 3
-        },
-        {
-            "comment": "-------------------------------------- Wait 4 seconds",
-            "action": "hold",
-            "duration": 4
-        },
-        {
-            "comment": "-------------------------------- Transition the title",
-            "action": "transition",
-            "type": [
-                "block position",
-                "block size",
-                "font color",
-                "font size"
-            ],
-            "block": "title",
-            "target": "title 2",
-            "duration": 1,
-            "continue": true
-        },
-        {
-            "comment": "----------------------------- Pause for half a second",
-            "action": "pause",
-            "duration": 0.5
-        },
-        {
-            "comment": "-------------------------------- Show the first slide",
-            "action": "fade up",
-            "blocks": [
-                "body"
-            ],
-            "duration": 1
-        },
-        {
-            "comment": "--------------------------------- Run the test plugin",
-            "action": "test",
-            "block": "title",
-            "duration": 0.5
-        },
-        {
-            "comment": "------------------------------------- Wait 10 seconds",
-            "action": "hold",
-            "duration": 10
-        },
-        {
-            "comment": "-------------------------------- Change the body text",
-            "action": "crossfade",
-            "block": "body",
-            "target": "slide 2",
-            "duration": 1,
-            "label": "loop"
-        },
-        {
-            "comment": "-------------------------------------- Wait 5 seconds",
-            "action": "hold",
-            "duration": 5
-        },
-        {
-            "comment": "-------------------------- Move the body to the right",
-            "action": "transition",
-            "type": [
-                "block position",
-                "block size"
-            ],
-            "block": "body",
-            "target": "body right",
-            "duration": 1
-        },
-        {
-            "comment": "----------------------------- Fade up the image block",
-            "action": "fade up",
-            "blocks": [
-                "left image"
-            ],
-            "duration": 2
-        },
-        {
-            "comment": "-------------------------------------- Wait 8 seconds",
-            "action": "hold",
-            "duration": 8
-        },
-        {
-            "comment": "--------------------------------- Crossfade the image",
-            "action": "crossfade",
-            "block": "left image",
-            "target": "moon",
-            "duration": 1
-        },
-        {
-            "comment": "-------------------------------------- Wait 2 seconds",
-            "action": "hold",
-            "duration": 2
-        },
-        {
-            "comment": "-------------------------------- Change the body text",
-            "action": "set content",
-            "blocks": [
-                {
-                    "block": "body",
-                    "content": "slide 3"
-                }
-            ]
-        },
-        {
-            "comment": "------------------------------------- Wait 10 seconds",
-            "action": "hold",
-            "duration": 10
-        },
-        {
-            "comment": "------------------------ Fade down the title and body",
-            "action": "fade down",
-            "blocks": [
-                "title",
-                "body",
-                "left image"
-            ],
-            "duration": 3
-        },
-        {
-            "comment": "-------------------------------- Go back to the start",
-            "action": "goto",
-            "target": "start"
-        }
-    ]
-}
+{"global":{},"container":{},"defaults":{},"blocks":{},"content":{},"steps":[{"comment":"Wait for user input","action":"hold","duration":0,"label":""}]}
\ No newline at end of file
diff --git a/mostrami/rest.php b/mostrami/rest.php
index 4c7abdb..4d5d87c 100644
--- a/mostrami/rest.php
+++ b/mostrami/rest.php
@@ -176,7 +176,7 @@
                 case '_save':
                     // Save data to a file in the resources folder
                     // Endpoint: {site root}/easycoder/rest.php/_save/{path}
-                    $path = getcwd() . '/' . join('/', $request);
+                    $path = getcwd() . '/resources/' . join('/', $request);
                     $p = strrpos($path, '/');
                     $dir = substr($path, 0, $p);
                     mkdir($dir, 0777, true);
@@ -190,7 +190,7 @@
                 case '_delete':
                     // Delete a file in the resources folder
                     // Endpoint: {site root}/easycoder/rest.php/_delete/{path}
-                    $path = getcwd() . '/' . join('/', $request);
+                    $path = getcwd() . '/resources/' . join('/', $request);
                     if (is_dir($path)) {
                         rmdir($path);
                     } else {