diff --git a/data/Tupfile.lua b/data/Tupfile.lua
index 7b67491aa3..d7417c514f 100644
--- a/data/Tupfile.lua
+++ b/data/Tupfile.lua
@@ -28,13 +28,7 @@ img_files = {
  {"UNIMG", PROGS .. "/fs/unimg/unimg"},
  {"3D/HOUSE.3DS", "common/3d/house.3ds"},
  {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
- {"File Managers/FNAV/ABOUT.TXT", "common/File Managers/fNav/About.txt"},
- {"File Managers/FNAV/FNAV", "common/File Managers/fNav/fNav.kex"},
- {"File Managers/FNAV/FNAV.EXT", "common/File Managers/fNav/fnav.ext"},
- {"File Managers/FNAV/FNAV.SET", "common/File Managers/fNav/fnav.set"},
- {"File Managers/FNAV/FNAV_CUR.PNG", "common/File Managers/fNav/fnav_cur.png"},
- {"File Managers/FNAV/FNAV_FNT.PNG", "common/File Managers/fNav/fnav_fnt.png"},
- {"File Managers/FNAV/FNAV_ICN.PNG", "common/File Managers/fNav/fnav_icn.png"},
+ {"File Managers/FNAV/", "common/File Managers/fNav/*"},
  {"GAMES/FLPYBIRD", PROGS .. "/games/flappybird/Release/flappybird"},
  {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
  -- {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
@@ -286,6 +280,7 @@ extra_files = {
  {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
  {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
  {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
+ {"kolibrios/utils/DosNavigator/", "common/File Managers/ndn/*"},
  {"kolibrios/utils/cnc_editor/cnc_editor", PROGS .. "/other/cnc_editor/cnc_editor"},
  {"kolibrios/utils/cnc_editor/kolibri.NC", PROGS .. "/other/cnc_editor/kolibri.NC"},
  {"kolibrios/utils/vmode", "common/vmode"},
diff --git a/data/common/File Managers/fNav/About.txt b/data/common/File Managers/fNav/ABOUT.TXT
similarity index 100%
rename from data/common/File Managers/fNav/About.txt
rename to data/common/File Managers/fNav/ABOUT.TXT
diff --git a/data/common/File Managers/fNav/fNav.kex b/data/common/File Managers/fNav/FNAV
similarity index 100%
rename from data/common/File Managers/fNav/fNav.kex
rename to data/common/File Managers/fNav/FNAV
diff --git a/data/common/File Managers/fNav/fnav.ext b/data/common/File Managers/fNav/FNAV.EXT
similarity index 100%
rename from data/common/File Managers/fNav/fnav.ext
rename to data/common/File Managers/fNav/FNAV.EXT
diff --git a/data/common/File Managers/fNav/fnav.set b/data/common/File Managers/fNav/FNAV.SET
similarity index 100%
rename from data/common/File Managers/fNav/fnav.set
rename to data/common/File Managers/fNav/FNAV.SET
diff --git a/data/common/File Managers/fNav/fnav_cur.png b/data/common/File Managers/fNav/FNAV_CUR.PNG
similarity index 100%
rename from data/common/File Managers/fNav/fnav_cur.png
rename to data/common/File Managers/fNav/FNAV_CUR.PNG
diff --git a/data/common/File Managers/fNav/fnav_fnt.png b/data/common/File Managers/fNav/FNAV_FNT.PNG
similarity index 100%
rename from data/common/File Managers/fNav/fnav_fnt.png
rename to data/common/File Managers/fNav/FNAV_FNT.PNG
diff --git a/data/common/File Managers/fNav/fnav_icn.png b/data/common/File Managers/fNav/FNAV_ICN.PNG
similarity index 100%
rename from data/common/File Managers/fNav/fnav_icn.png
rename to data/common/File Managers/fNav/FNAV_ICN.PNG
diff --git a/programs/fs/ndn/COLORS/AH.PAL b/data/common/File Managers/ndn/COLORS/AH.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/AH.PAL
rename to data/common/File Managers/ndn/COLORS/AH.PAL
diff --git a/programs/fs/ndn/COLORS/APOMETRN.PAL b/data/common/File Managers/ndn/COLORS/APOMETRN.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/APOMETRN.PAL
rename to data/common/File Managers/ndn/COLORS/APOMETRN.PAL
diff --git a/programs/fs/ndn/COLORS/BLUE.PAL b/data/common/File Managers/ndn/COLORS/BLUE.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/BLUE.PAL
rename to data/common/File Managers/ndn/COLORS/BLUE.PAL
diff --git a/programs/fs/ndn/COLORS/BW.PAL b/data/common/File Managers/ndn/COLORS/BW.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/BW.PAL
rename to data/common/File Managers/ndn/COLORS/BW.PAL
diff --git a/programs/fs/ndn/COLORS/DARK.PAL b/data/common/File Managers/ndn/COLORS/DARK.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/DARK.PAL
rename to data/common/File Managers/ndn/COLORS/DARK.PAL
diff --git a/programs/fs/ndn/COLORS/DEFAULT.PAL b/data/common/File Managers/ndn/COLORS/DEFAULT.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/DEFAULT.PAL
rename to data/common/File Managers/ndn/COLORS/DEFAULT.PAL
diff --git a/programs/fs/ndn/COLORS/DESCRIPT.ION b/data/common/File Managers/ndn/COLORS/DESCRIPT.ION
similarity index 100%
rename from programs/fs/ndn/COLORS/DESCRIPT.ION
rename to data/common/File Managers/ndn/COLORS/DESCRIPT.ION
diff --git a/programs/fs/ndn/COLORS/DOSSHELL.PAL b/data/common/File Managers/ndn/COLORS/DOSSHELL.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/DOSSHELL.PAL
rename to data/common/File Managers/ndn/COLORS/DOSSHELL.PAL
diff --git a/programs/fs/ndn/COLORS/FAR.PAL b/data/common/File Managers/ndn/COLORS/FAR.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/FAR.PAL
rename to data/common/File Managers/ndn/COLORS/FAR.PAL
diff --git a/programs/fs/ndn/COLORS/FAR2.PAL b/data/common/File Managers/ndn/COLORS/FAR2.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/FAR2.PAL
rename to data/common/File Managers/ndn/COLORS/FAR2.PAL
diff --git a/programs/fs/ndn/COLORS/FILE_ID.DIZ b/data/common/File Managers/ndn/COLORS/FILE_ID.DIZ
similarity index 100%
rename from programs/fs/ndn/COLORS/FILE_ID.DIZ
rename to data/common/File Managers/ndn/COLORS/FILE_ID.DIZ
diff --git a/programs/fs/ndn/COLORS/GARL.PAL b/data/common/File Managers/ndn/COLORS/GARL.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/GARL.PAL
rename to data/common/File Managers/ndn/COLORS/GARL.PAL
diff --git a/programs/fs/ndn/COLORS/GRAY.PAL b/data/common/File Managers/ndn/COLORS/GRAY.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/GRAY.PAL
rename to data/common/File Managers/ndn/COLORS/GRAY.PAL
diff --git a/programs/fs/ndn/COLORS/MONO.PAL b/data/common/File Managers/ndn/COLORS/MONO.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/MONO.PAL
rename to data/common/File Managers/ndn/COLORS/MONO.PAL
diff --git a/programs/fs/ndn/COLORS/NORTON.PAL b/data/common/File Managers/ndn/COLORS/NORTON.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/NORTON.PAL
rename to data/common/File Managers/ndn/COLORS/NORTON.PAL
diff --git a/programs/fs/ndn/COLORS/PCTOOLS.PAL b/data/common/File Managers/ndn/COLORS/PCTOOLS.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/PCTOOLS.PAL
rename to data/common/File Managers/ndn/COLORS/PCTOOLS.PAL
diff --git a/programs/fs/ndn/COLORS/STRELOK.PAL b/data/common/File Managers/ndn/COLORS/STRELOK.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/STRELOK.PAL
rename to data/common/File Managers/ndn/COLORS/STRELOK.PAL
diff --git a/programs/fs/ndn/COLORS/TURBO.PAL b/data/common/File Managers/ndn/COLORS/TURBO.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/TURBO.PAL
rename to data/common/File Managers/ndn/COLORS/TURBO.PAL
diff --git a/programs/fs/ndn/COLORS/VAX.PAL b/data/common/File Managers/ndn/COLORS/VAX.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/VAX.PAL
rename to data/common/File Managers/ndn/COLORS/VAX.PAL
diff --git a/programs/fs/ndn/COLORS/VAX2.PAL b/data/common/File Managers/ndn/COLORS/VAX2.PAL
similarity index 100%
rename from programs/fs/ndn/COLORS/VAX2.PAL
rename to data/common/File Managers/ndn/COLORS/VAX2.PAL
diff --git a/programs/fs/ndn/ENGLISH.DLG b/data/common/File Managers/ndn/ENGLISH.DLG
similarity index 100%
rename from programs/fs/ndn/ENGLISH.DLG
rename to data/common/File Managers/ndn/ENGLISH.DLG
diff --git a/programs/fs/ndn/ENGLISH.HLP b/data/common/File Managers/ndn/ENGLISH.HLP
similarity index 100%
rename from programs/fs/ndn/ENGLISH.HLP
rename to data/common/File Managers/ndn/ENGLISH.HLP
diff --git a/programs/fs/ndn/ENGLISH.LNG b/data/common/File Managers/ndn/ENGLISH.LNG
similarity index 100%
rename from programs/fs/ndn/ENGLISH.LNG
rename to data/common/File Managers/ndn/ENGLISH.LNG
diff --git a/programs/fs/ndn/HGROUPS.INI b/data/common/File Managers/ndn/HGROUPS.INI
similarity index 100%
rename from programs/fs/ndn/HGROUPS.INI
rename to data/common/File Managers/ndn/HGROUPS.INI
diff --git a/programs/fs/ndn/NDN b/data/common/File Managers/ndn/NDN
similarity index 100%
rename from programs/fs/ndn/NDN
rename to data/common/File Managers/ndn/NDN
diff --git a/programs/fs/ndn/NDN.EDT b/data/common/File Managers/ndn/NDN.EDT
similarity index 100%
rename from programs/fs/ndn/NDN.EDT
rename to data/common/File Managers/ndn/NDN.EDT
diff --git a/programs/fs/ndn/NDN.EXT b/data/common/File Managers/ndn/NDN.EXT
similarity index 100%
rename from programs/fs/ndn/NDN.EXT
rename to data/common/File Managers/ndn/NDN.EXT
diff --git a/programs/fs/ndn/NDN.HGL b/data/common/File Managers/ndn/NDN.HGL
similarity index 100%
rename from programs/fs/ndn/NDN.HGL
rename to data/common/File Managers/ndn/NDN.HGL
diff --git a/programs/fs/ndn/NDN.MN2 b/data/common/File Managers/ndn/NDN.MN2
similarity index 100%
rename from programs/fs/ndn/NDN.MN2
rename to data/common/File Managers/ndn/NDN.MN2
diff --git a/programs/fs/ndn/NDN.MNU b/data/common/File Managers/ndn/NDN.MNU
similarity index 100%
rename from programs/fs/ndn/NDN.MNU
rename to data/common/File Managers/ndn/NDN.MNU
diff --git a/programs/fs/ndn/NDN.QDR b/data/common/File Managers/ndn/NDN.QDR
similarity index 100%
rename from programs/fs/ndn/NDN.QDR
rename to data/common/File Managers/ndn/NDN.QDR
diff --git a/programs/fs/ndn/NDN.SPF b/data/common/File Managers/ndn/NDN.SPF
similarity index 100%
rename from programs/fs/ndn/NDN.SPF
rename to data/common/File Managers/ndn/NDN.SPF
diff --git a/programs/fs/ndn/NDN.VWR b/data/common/File Managers/ndn/NDN.VWR
similarity index 100%
rename from programs/fs/ndn/NDN.VWR
rename to data/common/File Managers/ndn/NDN.VWR
diff --git a/programs/fs/ndn/NDN.XRN b/data/common/File Managers/ndn/NDN.XRN
similarity index 100%
rename from programs/fs/ndn/NDN.XRN
rename to data/common/File Managers/ndn/NDN.XRN
diff --git a/programs/fs/ndn/POLISH.DLG b/data/common/File Managers/ndn/POLISH.DLG
similarity index 100%
rename from programs/fs/ndn/POLISH.DLG
rename to data/common/File Managers/ndn/POLISH.DLG
diff --git a/programs/fs/ndn/POLISH.HLP b/data/common/File Managers/ndn/POLISH.HLP
similarity index 100%
rename from programs/fs/ndn/POLISH.HLP
rename to data/common/File Managers/ndn/POLISH.HLP
diff --git a/programs/fs/ndn/POLISH.LNG b/data/common/File Managers/ndn/POLISH.LNG
similarity index 100%
rename from programs/fs/ndn/POLISH.LNG
rename to data/common/File Managers/ndn/POLISH.LNG
diff --git a/programs/fs/ndn/RUSSIAN.DLG b/data/common/File Managers/ndn/RUSSIAN.DLG
similarity index 100%
rename from programs/fs/ndn/RUSSIAN.DLG
rename to data/common/File Managers/ndn/RUSSIAN.DLG
diff --git a/programs/fs/ndn/RUSSIAN.HLP b/data/common/File Managers/ndn/RUSSIAN.HLP
similarity index 100%
rename from programs/fs/ndn/RUSSIAN.HLP
rename to data/common/File Managers/ndn/RUSSIAN.HLP
diff --git a/programs/fs/ndn/RUSSIAN.LNG b/data/common/File Managers/ndn/RUSSIAN.LNG
similarity index 100%
rename from programs/fs/ndn/RUSSIAN.LNG
rename to data/common/File Managers/ndn/RUSSIAN.LNG
diff --git a/programs/fs/ndn/XLT/!BIGWIN!.XLT b/data/common/File Managers/ndn/XLT/!BIGWIN!.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/!BIGWIN!.XLT
rename to data/common/File Managers/ndn/XLT/!BIGWIN!.XLT
diff --git a/programs/fs/ndn/XLT/CAB.XLT b/data/common/File Managers/ndn/XLT/CAB.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CAB.XLT
rename to data/common/File Managers/ndn/XLT/CAB.XLT
diff --git a/programs/fs/ndn/XLT/CAPSLOCK.XLT b/data/common/File Managers/ndn/XLT/CAPSLOCK.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CAPSLOCK.XLT
rename to data/common/File Managers/ndn/XLT/CAPSLOCK.XLT
diff --git a/programs/fs/ndn/XLT/CHAR.XLT b/data/common/File Managers/ndn/XLT/CHAR.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CHAR.XLT
rename to data/common/File Managers/ndn/XLT/CHAR.XLT
diff --git a/programs/fs/ndn/XLT/CHAR2RUS.XLT b/data/common/File Managers/ndn/XLT/CHAR2RUS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CHAR2RUS.XLT
rename to data/common/File Managers/ndn/XLT/CHAR2RUS.XLT
diff --git a/programs/fs/ndn/XLT/CHAT.XLT b/data/common/File Managers/ndn/XLT/CHAT.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CHAT.XLT
rename to data/common/File Managers/ndn/XLT/CHAT.XLT
diff --git a/programs/fs/ndn/XLT/CODER.XLT b/data/common/File Managers/ndn/XLT/CODER.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/CODER.XLT
rename to data/common/File Managers/ndn/XLT/CODER.XLT
diff --git a/programs/fs/ndn/XLT/DESCRIPT.ION b/data/common/File Managers/ndn/XLT/DESCRIPT.ION
similarity index 100%
rename from programs/fs/ndn/XLT/DESCRIPT.ION
rename to data/common/File Managers/ndn/XLT/DESCRIPT.ION
diff --git a/programs/fs/ndn/XLT/DK-7BIT.XLT b/data/common/File Managers/ndn/XLT/DK-7BIT.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DK-7BIT.XLT
rename to data/common/File Managers/ndn/XLT/DK-7BIT.XLT
diff --git a/programs/fs/ndn/XLT/DLL.XLT b/data/common/File Managers/ndn/XLT/DLL.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DLL.XLT
rename to data/common/File Managers/ndn/XLT/DLL.XLT
diff --git a/programs/fs/ndn/XLT/DOS.XLT b/data/common/File Managers/ndn/XLT/DOS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DOS.XLT
rename to data/common/File Managers/ndn/XLT/DOS.XLT
diff --git a/programs/fs/ndn/XLT/DOS2KOI8.XLT b/data/common/File Managers/ndn/XLT/DOS2KOI8.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DOS2KOI8.XLT
rename to data/common/File Managers/ndn/XLT/DOS2KOI8.XLT
diff --git a/programs/fs/ndn/XLT/DOS2KOIA.XLT b/data/common/File Managers/ndn/XLT/DOS2KOIA.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DOS2KOIA.XLT
rename to data/common/File Managers/ndn/XLT/DOS2KOIA.XLT
diff --git a/programs/fs/ndn/XLT/DOS2WIN.XLT b/data/common/File Managers/ndn/XLT/DOS2WIN.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DOS2WIN.XLT
rename to data/common/File Managers/ndn/XLT/DOS2WIN.XLT
diff --git a/programs/fs/ndn/XLT/DSS.XLT b/data/common/File Managers/ndn/XLT/DSS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DSS.XLT
rename to data/common/File Managers/ndn/XLT/DSS.XLT
diff --git a/programs/fs/ndn/XLT/DUNE_E-R.XLT b/data/common/File Managers/ndn/XLT/DUNE_E-R.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/DUNE_E-R.XLT
rename to data/common/File Managers/ndn/XLT/DUNE_E-R.XLT
diff --git a/programs/fs/ndn/XLT/ENGL_RUS.XLT b/data/common/File Managers/ndn/XLT/ENGL_RUS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/ENGL_RUS.XLT
rename to data/common/File Managers/ndn/XLT/ENGL_RUS.XLT
diff --git a/programs/fs/ndn/XLT/FILE_ID.DIZ b/data/common/File Managers/ndn/XLT/FILE_ID.DIZ
similarity index 100%
rename from programs/fs/ndn/XLT/FILE_ID.DIZ
rename to data/common/File Managers/ndn/XLT/FILE_ID.DIZ
diff --git a/programs/fs/ndn/XLT/INF.XLT b/data/common/File Managers/ndn/XLT/INF.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/INF.XLT
rename to data/common/File Managers/ndn/XLT/INF.XLT
diff --git a/programs/fs/ndn/XLT/ISOLAT-1.XLT b/data/common/File Managers/ndn/XLT/ISOLAT-1.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/ISOLAT-1.XLT
rename to data/common/File Managers/ndn/XLT/ISOLAT-1.XLT
diff --git a/programs/fs/ndn/XLT/KAR.XLT b/data/common/File Managers/ndn/XLT/KAR.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/KAR.XLT
rename to data/common/File Managers/ndn/XLT/KAR.XLT
diff --git a/programs/fs/ndn/XLT/KEYBOARD.XLT b/data/common/File Managers/ndn/XLT/KEYBOARD.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/KEYBOARD.XLT
rename to data/common/File Managers/ndn/XLT/KEYBOARD.XLT
diff --git a/programs/fs/ndn/XLT/KOI2WIN.XLT b/data/common/File Managers/ndn/XLT/KOI2WIN.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/KOI2WIN.XLT
rename to data/common/File Managers/ndn/XLT/KOI2WIN.XLT
diff --git a/programs/fs/ndn/XLT/KOI8-R.XLT b/data/common/File Managers/ndn/XLT/KOI8-R.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/KOI8-R.XLT
rename to data/common/File Managers/ndn/XLT/KOI8-R.XLT
diff --git a/programs/fs/ndn/XLT/KOI8-RUS.XLT b/data/common/File Managers/ndn/XLT/KOI8-RUS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/KOI8-RUS.XLT
rename to data/common/File Managers/ndn/XLT/KOI8-RUS.XLT
diff --git a/programs/fs/ndn/XLT/LATRUS.XLT b/data/common/File Managers/ndn/XLT/LATRUS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/LATRUS.XLT
rename to data/common/File Managers/ndn/XLT/LATRUS.XLT
diff --git a/programs/fs/ndn/XLT/LF_DEL.XLT b/data/common/File Managers/ndn/XLT/LF_DEL.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/LF_DEL.XLT
rename to data/common/File Managers/ndn/XLT/LF_DEL.XLT
diff --git a/programs/fs/ndn/XLT/NOT.XLT b/data/common/File Managers/ndn/XLT/NOT.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/NOT.XLT
rename to data/common/File Managers/ndn/XLT/NOT.XLT
diff --git a/programs/fs/ndn/XLT/NUMBERS.XLT b/data/common/File Managers/ndn/XLT/NUMBERS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/NUMBERS.XLT
rename to data/common/File Managers/ndn/XLT/NUMBERS.XLT
diff --git a/programs/fs/ndn/XLT/PDF.XLT b/data/common/File Managers/ndn/XLT/PDF.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/PDF.XLT
rename to data/common/File Managers/ndn/XLT/PDF.XLT
diff --git a/programs/fs/ndn/XLT/PST.XLT b/data/common/File Managers/ndn/XLT/PST.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/PST.XLT
rename to data/common/File Managers/ndn/XLT/PST.XLT
diff --git a/programs/fs/ndn/XLT/RECORD.XLT b/data/common/File Managers/ndn/XLT/RECORD.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RECORD.XLT
rename to data/common/File Managers/ndn/XLT/RECORD.XLT
diff --git a/programs/fs/ndn/XLT/RUSLAT_D.XLT b/data/common/File Managers/ndn/XLT/RUSLAT_D.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RUSLAT_D.XLT
rename to data/common/File Managers/ndn/XLT/RUSLAT_D.XLT
diff --git a/programs/fs/ndn/XLT/RUSLAT_K.XLT b/data/common/File Managers/ndn/XLT/RUSLAT_K.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RUSLAT_K.XLT
rename to data/common/File Managers/ndn/XLT/RUSLAT_K.XLT
diff --git a/programs/fs/ndn/XLT/RUSLAT_W.XLT b/data/common/File Managers/ndn/XLT/RUSLAT_W.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RUSLAT_W.XLT
rename to data/common/File Managers/ndn/XLT/RUSLAT_W.XLT
diff --git a/programs/fs/ndn/XLT/RUS_DE.XLT b/data/common/File Managers/ndn/XLT/RUS_DE.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RUS_DE.XLT
rename to data/common/File Managers/ndn/XLT/RUS_DE.XLT
diff --git a/programs/fs/ndn/XLT/RUS_ENGL.XLT b/data/common/File Managers/ndn/XLT/RUS_ENGL.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/RUS_ENGL.XLT
rename to data/common/File Managers/ndn/XLT/RUS_ENGL.XLT
diff --git a/programs/fs/ndn/XLT/SHOWSPAC.XLT b/data/common/File Managers/ndn/XLT/SHOWSPAC.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/SHOWSPAC.XLT
rename to data/common/File Managers/ndn/XLT/SHOWSPAC.XLT
diff --git a/programs/fs/ndn/XLT/TEST.TXT b/data/common/File Managers/ndn/XLT/TEST.TXT
similarity index 100%
rename from programs/fs/ndn/XLT/TEST.TXT
rename to data/common/File Managers/ndn/XLT/TEST.TXT
diff --git a/programs/fs/ndn/XLT/UNICODE.XLT b/data/common/File Managers/ndn/XLT/UNICODE.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/UNICODE.XLT
rename to data/common/File Managers/ndn/XLT/UNICODE.XLT
diff --git a/programs/fs/ndn/XLT/UTF8.XLT b/data/common/File Managers/ndn/XLT/UTF8.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/UTF8.XLT
rename to data/common/File Managers/ndn/XLT/UTF8.XLT
diff --git a/programs/fs/ndn/XLT/UTF8_1.XLT b/data/common/File Managers/ndn/XLT/UTF8_1.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/UTF8_1.XLT
rename to data/common/File Managers/ndn/XLT/UTF8_1.XLT
diff --git a/programs/fs/ndn/XLT/UTF8_2.XLT b/data/common/File Managers/ndn/XLT/UTF8_2.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/UTF8_2.XLT
rename to data/common/File Managers/ndn/XLT/UTF8_2.XLT
diff --git a/programs/fs/ndn/XLT/WIN&KOI.XLT b/data/common/File Managers/ndn/XLT/WIN&KOI.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WIN&KOI.XLT
rename to data/common/File Managers/ndn/XLT/WIN&KOI.XLT
diff --git a/programs/fs/ndn/XLT/WIN2GER.XLT b/data/common/File Managers/ndn/XLT/WIN2GER.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WIN2GER.XLT
rename to data/common/File Managers/ndn/XLT/WIN2GER.XLT
diff --git a/programs/fs/ndn/XLT/WIN866!.XLT b/data/common/File Managers/ndn/XLT/WIN866!.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WIN866!.XLT
rename to data/common/File Managers/ndn/XLT/WIN866!.XLT
diff --git a/programs/fs/ndn/XLT/WIN866.XLT b/data/common/File Managers/ndn/XLT/WIN866.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WIN866.XLT
rename to data/common/File Managers/ndn/XLT/WIN866.XLT
diff --git a/programs/fs/ndn/XLT/WINDOWS.XLT b/data/common/File Managers/ndn/XLT/WINDOWS.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WINDOWS.XLT
rename to data/common/File Managers/ndn/XLT/WINDOWS.XLT
diff --git a/programs/fs/ndn/XLT/WINME.XLT b/data/common/File Managers/ndn/XLT/WINME.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WINME.XLT
rename to data/common/File Managers/ndn/XLT/WINME.XLT
diff --git a/programs/fs/ndn/XLT/WINTOKOI.XLT b/data/common/File Managers/ndn/XLT/WINTOKOI.XLT
similarity index 100%
rename from programs/fs/ndn/XLT/WINTOKOI.XLT
rename to data/common/File Managers/ndn/XLT/WINTOKOI.XLT
diff --git a/programs/fs/ndn/archiver.ini b/data/common/File Managers/ndn/archiver.ini
similarity index 100%
rename from programs/fs/ndn/archiver.ini
rename to data/common/File Managers/ndn/archiver.ini
diff --git a/programs/fs/ndn/ndn.dsk b/data/common/File Managers/ndn/ndn.dsk
similarity index 100%
rename from programs/fs/ndn/ndn.dsk
rename to data/common/File Managers/ndn/ndn.dsk
diff --git a/programs/fs/ndn/ndn.flt b/data/common/File Managers/ndn/ndn.flt
similarity index 100%
rename from programs/fs/ndn/ndn.flt
rename to data/common/File Managers/ndn/ndn.flt
diff --git a/programs/fs/ndn/ndn.his b/data/common/File Managers/ndn/ndn.his
similarity index 100%
rename from programs/fs/ndn/ndn.his
rename to data/common/File Managers/ndn/ndn.his
diff --git a/programs/fs/ndn/ndn.idx b/data/common/File Managers/ndn/ndn.idx
similarity index 100%
rename from programs/fs/ndn/ndn.idx
rename to data/common/File Managers/ndn/ndn.idx
diff --git a/programs/fs/ndn/ndn.ini b/data/common/File Managers/ndn/ndn.ini
similarity index 100%
rename from programs/fs/ndn/ndn.ini
rename to data/common/File Managers/ndn/ndn.ini
diff --git a/programs/fs/ndn/ndn.man b/data/common/File Managers/ndn/ndn.man
similarity index 100%
rename from programs/fs/ndn/ndn.man
rename to data/common/File Managers/ndn/ndn.man
diff --git a/programs/fs/ndn/ndn.tfe b/data/common/File Managers/ndn/ndn.tfe
similarity index 100%
rename from programs/fs/ndn/ndn.tfe
rename to data/common/File Managers/ndn/ndn.tfe
diff --git a/programs/cmm/lib/obj/box_lib.h b/programs/cmm/lib/obj/box_lib.h
index 46b6b64bfa..05054cc1eb 100644
--- a/programs/cmm/lib/obj/box_lib.h
+++ b/programs/cmm/lib/obj/box_lib.h
@@ -136,6 +136,28 @@ dword width,
 	ESI.edit_box.size = strlen(ed_text);
 }
 
+:dword EditBox_CreateStandart(dword width, left, top, maxlen, text, flags)
+{
+	dword eb, i;
+	eb = malloc(sizeof(edit_box));
+	for (i = 0; i < sizeof(edit_box); i++) ESBYTE[eb + i] = 0;
+	ESDWORD[eb] = width;
+	ESDWORD[eb + 4] = left;
+	ESDWORD[eb + 8] = top;
+	ESDWORD[eb + 12] = 0xffffff;
+	ESDWORD[eb + 16] = 0x94AECE;
+	ESDWORD[eb + 20] = 0xffffff;
+	ESDWORD[eb + 24] = 0xffffff;
+	ESDWORD[eb + 28] = 0x10000000;
+	ESDWORD[eb + 32] = maxlen;
+	ESDWORD[eb + 36] = text;
+	ESDWORD[eb + 40] = 0;
+	ESDWORD[eb + 44] = flags;
+	ESDWORD[eb + 48] = 0;
+	ESDWORD[eb + 52] = 0;
+	return eb;
+}
+
 struct scroll_bar
 {
 	word size_x,
diff --git a/programs/cmm/template/t.c b/programs/cmm/template/t.c
index ecd8f7299a..175dcd7382 100644
--- a/programs/cmm/template/t.c
+++ b/programs/cmm/template/t.c
@@ -1,27 +1,82 @@
-#define MEMSIZE 4096*40
+#define MEMSIZE 1024*100
 
+#include "../lib/kolibri.h"
+#include "../lib/collection.h"
 #include "../lib/gui.h"
 #include "../lib/fs.h"
 
+#include "../lib/obj/http.h"
+#include "../lib/obj/console.h"
+
+collection links;
+#include "urls.h"
+
+_http http;
+char accept_language[]= "Accept-Language: en\n";
+
+int url_id=0;
+
 void main()
 {
-	proc_info Form;
+	char savepath[100];
+	load_dll(libHTTP, #http_lib_init,1);
+	load_dll(libConsole, #con_init, 0);
 
-	@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE);
-	loop() switch(WaitEvent())
+	con_init stdcall (70, 40, 70, 1020, "Web stability test");
+	urls_add();
+	con_write_asciiz stdcall ("Redirect is not handled yet.\n");
+	con_write_asciiz stdcall ("All pages are saved into /tmp0/1\n\n");
+	con_write_asciiz stdcall ("Downloading pages...\n\n");
+	pause(100);
+	get_next_url();
+
+	@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER + EVM_STACK);
+	loop() switch(@WaitEventTimeout(200))
 	{
-		case evMouse:			
-			mouse.get();
-			break;
-
-		case evKey:
-			@GetKeyScancode();
-			if (AL == SCAN_CODE_ESC) @ExitProcess();
-			break;
-
-		case evReDraw:
-			sc.get();
-			DefineAndDrawWindow(100, 100, 300, 250, 0x34, sc.work, "Template app", 0);
-			GetProcessInfo(#Form, SelfInfo);
+	case evNetwork:	
+		if (!http.receive_result) {
+				sprintf(#savepath, "/tmp0/1/%s.htm", links.get(url_id)+7);
+				CreateFile(http.content_received, http.content_pointer, #savepath);
+				free(http.content_pointer);
+				http_free stdcall (http.transfer);
+				http.transfer=0;
+				con_write_asciiz stdcall ("\n");
+				get_next_url();
+		}		
+		if (http.transfer) {
+			http.receive();	
+		} else {
+			con_write_asciiz stdcall (" => FAILED\n");
+			get_next_url();
+		}
+	}
+}
+
+void get_next_url()
+{
+	char get_url[2500];
+	dword url;
+
+	url_id++;
+	url = links.get(url_id);
+
+	if (!url) {
+		con_write_asciiz stdcall ("Download complete.");
+		con_exit stdcall (0);
+		ExitProcess();
+	} else {
+		con_write_asciiz stdcall (itoa(url_id));
+		con_write_asciiz stdcall (". ");
+		con_write_asciiz stdcall (links.get(url_id));
+
+		if (!strncmp(url,"https:",6)) {
+			sprintf(#get_url, "http://gate.aspero.pro/?site=%s", url);
+		} else if (!strncmp(url,"http:",5)) {
+			sprintf(#get_url, "%s", url);
+		} else {
+			get_next_url();
+		}
+
+		http.get(#get_url);
 	}
 }