diff --git a/hugo/content/dev/config/_index.md b/hugo/content/dev/config/_index.md
new file mode 100644
index 0000000000000000000000000000000000000000..224e1e4a794457f150ba30a24b77fa65a1787d40
--- /dev/null
+++ b/hugo/content/dev/config/_index.md
@@ -0,0 +1,8 @@
++++
+title = "Configure"
+weight = 10
++++
+
+## Configure for development
+
+{{% children %}}
\ No newline at end of file
diff --git a/hugo/content/dev/build.md b/hugo/content/dev/config/build.md
similarity index 100%
rename from hugo/content/dev/build.md
rename to hugo/content/dev/config/build.md
diff --git a/hugo/content/dev/pyenv.md b/hugo/content/dev/config/pyenv.md
similarity index 96%
rename from hugo/content/dev/pyenv.md
rename to hugo/content/dev/config/pyenv.md
index 8b02b3ec03a43e4f2b9a28d5fb74bc8f454c11e1..fbfdd566d0268f71e9c092226e57cee543bbf290 100644
--- a/hugo/content/dev/pyenv.md
+++ b/hugo/content/dev/config/pyenv.md
@@ -3,15 +3,18 @@ title = "Pyenv"
 weight = 80
 +++
 
+
+## pyenv
+
 [Pyenv](https://github.com/pyenv/pyenv) is a platform to install and manage
 different versions of Python, isolated from the default Python version.
 Its advantage compared to the other options, like Anaconda, is its simplicity and smallness.
 Currently, to build BornAgain libraries for different versions of Python,
 we use the `pyenv` platform.
 
-# Installing `pyenv` platform
+#### Installation
 
-#### Linux
+##### Linux
 
 Obtain the installer from <https://github.com/pyenv/pyenv-installer>.
 To install `pyenv`, use
@@ -29,7 +32,7 @@ libbz2-dev libreadline-dev libsqlite3-dev curl \
 libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
 ```
 
-#### MacOS
+##### MacOS
 
 Install `pyenv` via `homebrew`:
 ```
@@ -39,7 +42,7 @@ brew install pyenv
 The rest of the `pyenv` instructions are like those for Linux.
 
 
-#### Windows
+##### Windows
 
 On MS-Windows, [pyenv-win](https://github.com/pyenv-win) should be used.
 
@@ -54,7 +57,7 @@ echo %PYENV_ROOT%
 ```
 
 
-#### Using `pyenv`
+#### Using pyenv
 
 **Obtain a list of available Python versions**
 ```
diff --git a/hugo/content/dev/dev/_index.md b/hugo/content/dev/dev/_index.md
new file mode 100644
index 0000000000000000000000000000000000000000..c6e228d4d0a919908c5b74875b9f245412dc9bfa
--- /dev/null
+++ b/hugo/content/dev/dev/_index.md
@@ -0,0 +1,8 @@
++++
+title = "Develop"
+weight = 30
++++
+
+## Development
+
+{{% children %}}
\ No newline at end of file
diff --git a/hugo/content/dev/debug.md b/hugo/content/dev/dev/debug.md
similarity index 100%
rename from hugo/content/dev/debug.md
rename to hugo/content/dev/dev/debug.md
diff --git a/hugo/content/dev/dev/manual_checks.md b/hugo/content/dev/dev/manual_checks.md
new file mode 100644
index 0000000000000000000000000000000000000000..735a61ee097faad2421bf4600217c6097e884efd
--- /dev/null
+++ b/hugo/content/dev/dev/manual_checks.md
@@ -0,0 +1,30 @@
++++
+title = "Manual checks"
+weight = 20
++++
+
+## Manual checks
+
+Tests that cannot be automatized should occasionally be run manually.
+
+#### Unused code
+
+Unused code, in particular unused functions, can be detected with the tool
+[xunused](https://github.com/mgehre/xunused).
+
+```bash
+cd build
+cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+vi compile_commands.json # rm source files in 3rdparty and Fit/3rdparty
+xunused compile_commands.json 2>&1 >/dev/null | tee /io/unused.txt
+```
+
+Use judgement: not all currently unused functions must be removed.
+
+#### Static code analysis with clang-tidy
+
+...
+
+#### Coverage
+
+...
diff --git a/hugo/content/dev/webdoc.md b/hugo/content/dev/dev/webdoc.md
similarity index 100%
rename from hugo/content/dev/webdoc.md
rename to hugo/content/dev/dev/webdoc.md