diff --git a/tutorial/Skylark03/index.witz b/tutorial/Skylark03/index.witz
index 3630a2f27..989546fe1 100644
--- a/tutorial/Skylark03/index.witz
+++ b/tutorial/Skylark03/index.witz
@@ -1,6 +1,6 @@
-Link to page2
+Link to page2
$for(i in ["param_test", 123, "param_test3"])
Param test: $i
$endfor
diff --git a/tutorial/Skylark05/Skylark05.upp b/tutorial/Skylark05/Skylark05.upp
new file mode 100644
index 000000000..bb20fe8d6
--- /dev/null
+++ b/tutorial/Skylark05/Skylark05.upp
@@ -0,0 +1,14 @@
+description "FORM GET\377";
+
+uses
+ Core,
+ Skylark;
+
+file
+ index.witz,
+ submit.witz,
+ main.cpp;
+
+mainconfig
+ "" = "SSE2 MT";
+
diff --git a/tutorial/Skylark05/index.witz b/tutorial/Skylark05/index.witz
new file mode 100644
index 000000000..77cbaf999
--- /dev/null
+++ b/tutorial/Skylark05/index.witz
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/tutorial/Skylark05/init b/tutorial/Skylark05/init
new file mode 100644
index 000000000..5aa3e4abe
--- /dev/null
+++ b/tutorial/Skylark05/init
@@ -0,0 +1,5 @@
+#ifndef _Skylark05_icpp_init_stub
+#define _Skylark05_icpp_init_stub
+#include "Core/init"
+#include "Skylark/init"
+#endif
diff --git a/tutorial/Skylark05/main.cpp b/tutorial/Skylark05/main.cpp
new file mode 100644
index 000000000..00588cc03
--- /dev/null
+++ b/tutorial/Skylark05/main.cpp
@@ -0,0 +1,34 @@
+#include
+
+using namespace Upp;
+
+SKYLARK(HomePage, "")
+{
+ http.RenderResult("Skylark05/index");
+}
+
+SKYLARK(Submit, "submit")
+{
+ http("RESULT", ToUpper((String)http["id"]))
+ .RenderResult("Skylark05/submit");
+}
+
+struct MyApp : SkylarkApp {
+ MyApp() {
+ root = "myapp";
+ #ifdef _DEBUG
+ prefork = 0;
+ use_caching = false;
+ #endif
+ }
+};
+
+CONSOLE_APP_MAIN
+{
+#ifdef _DEBUG
+ StdLogSetup(LOG_FILE|LOG_COUT);
+ Ini::skylark_log = true;
+#endif
+
+ MyApp().Run();
+}
diff --git a/tutorial/Skylark05/submit.witz b/tutorial/Skylark05/submit.witz
new file mode 100644
index 000000000..803b81edd
--- /dev/null
+++ b/tutorial/Skylark05/submit.witz
@@ -0,0 +1,6 @@
+
+
+Result: $RESULT
+Back to homepage
+
+
diff --git a/tutorial/Skylark06/Skylark06.upp b/tutorial/Skylark06/Skylark06.upp
new file mode 100644
index 000000000..61edf9017
--- /dev/null
+++ b/tutorial/Skylark06/Skylark06.upp
@@ -0,0 +1,14 @@
+description "FORM POST\377";
+
+uses
+ Core,
+ Skylark;
+
+file
+ index.witz,
+ submit.witz,
+ main.cpp;
+
+mainconfig
+ "" = "SSE2 MT";
+
diff --git a/tutorial/Skylark06/index.witz b/tutorial/Skylark06/index.witz
new file mode 100644
index 000000000..90ce28f29
--- /dev/null
+++ b/tutorial/Skylark06/index.witz
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/tutorial/Skylark06/init b/tutorial/Skylark06/init
new file mode 100644
index 000000000..4ddc77565
--- /dev/null
+++ b/tutorial/Skylark06/init
@@ -0,0 +1,5 @@
+#ifndef _Skylark06_icpp_init_stub
+#define _Skylark06_icpp_init_stub
+#include "Core/init"
+#include "Skylark/init"
+#endif
diff --git a/tutorial/Skylark06/main.cpp b/tutorial/Skylark06/main.cpp
new file mode 100644
index 000000000..440edefd2
--- /dev/null
+++ b/tutorial/Skylark06/main.cpp
@@ -0,0 +1,34 @@
+#include
+
+using namespace Upp;
+
+SKYLARK(HomePage, "")
+{
+ http.RenderResult("Skylark06/index");
+}
+
+SKYLARK(Submit, "submit:POST")
+{
+ http("RESULT", ToUpper((String)http["id"]))
+ .RenderResult("Skylark06/submit");
+}
+
+struct MyApp : SkylarkApp {
+ MyApp() {
+ root = "myapp";
+ #ifdef _DEBUG
+ prefork = 0;
+ use_caching = false;
+ #endif
+ }
+};
+
+CONSOLE_APP_MAIN
+{
+#ifdef _DEBUG
+ StdLogSetup(LOG_FILE|LOG_COUT);
+ Ini::skylark_log = true;
+#endif
+
+ MyApp().Run();
+}
diff --git a/tutorial/Skylark06/submit.witz b/tutorial/Skylark06/submit.witz
new file mode 100644
index 000000000..803b81edd
--- /dev/null
+++ b/tutorial/Skylark06/submit.witz
@@ -0,0 +1,6 @@
+
+
+Result: $RESULT
+Back to homepage
+
+