diff --git a/.gitignore b/.gitignore
index 3ced74e..9b57b67 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@ yarn-debug.log*
yarn-error.log*
.idea
+/noUse
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..e8a06a0
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,18 @@
+## Wanna help make the doc site better?
+
+Make a doc page that reference the issue at hand in a general term, to apply to every e.g terminal or function in XPipe. If a doc page is already there, you can change the page to fit with the included issue.
+
+Use `https://mdxjs.com/playground/` to play around with the style of the page if you don't have a preview in your IDE.
+Docusaurus uses [MDX](https://mdxjs.com/), normal markdown also works fine.
+
+Be sure to follow a breakdown structure:
+
+```
+docs
+|
+-- cli
+ |
+ -- man
+|
+-- synchronization
+```
\ No newline at end of file
diff --git a/docs/directories.md b/docs/directories.md
index 5adc4ab..8deb8cb 100644
--- a/docs/directories.md
+++ b/docs/directories.md
@@ -1,6 +1,6 @@
# Directory locations
-XPipe utilizes the following directories:
+XPipe uses the following directories:
## Installation data
* `%LOCALAPPDATA%\XPipe` on Windows
@@ -39,7 +39,9 @@ When you choose to bring certain user scripts to a remote system, they are copie
## Script data
-In case any created user script has to write some data to a system, e.g. the starship scripts installing starship files, they are created in
+In case any created user script has to write some data to a system,
+e.g., the starship scripts installing starship files;
+they are created in
* `%TEMP%\xpipe\scriptdata` on Windows
* `/tmp/xpipe/$USER/scriptdata` on Linux
* `/tmp/xpipe/$USER/scriptdata` on macOS
diff --git a/docs/two-step-connections.md b/docs/double-prompts.md
similarity index 97%
rename from docs/two-step-connections.md
rename to docs/double-prompts.md
index daf1e0a..0baab04 100644
--- a/docs/two-step-connections.md
+++ b/docs/double-prompts.md
@@ -1,4 +1,4 @@
-# Two-step connections
+# Double prompts
XPipe utilizes a two-step approach when connecting to a remote system. Essentially, the first connection will be opened in the background to set everything up with init scripts etc. This is also used to validate whether we can actually connect to the system in the first place. If everything is working correctly, and any init scripts are prepared, the first connection is closed, and then a second connection is opened in your terminal.
diff --git a/docs/iot.md b/docs/iot.md
new file mode 100644
index 0000000..37102e9
--- /dev/null
+++ b/docs/iot.md
@@ -0,0 +1,8 @@
+# IOT Devices
+
+You can connect to IOT devices by enabling the `Don't interact with system` for the SSH connection. This option is made for these systems that do not provide fully fledged shell connections
+
+## Common errors
+**Know issues are:**
+- `An error occurred: io.xpipe.core.process.ProcessOutputException: Process did not start up properly and had to be killed: Shell did not respond on stderr within timeout interval.` And can be resolved by enabling the option.
+
diff --git a/docs/preview.md b/docs/preview.md
deleted file mode 100644
index 1bd3724..0000000
--- a/docs/preview.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# XPipe Pro Preview
-
-The feature you are trying to use is available in the pro preview, which allows anyone who is interested to try it out newly released professional-only features for two weeks after their release.
-
-## Motivation
-
-This pro preview enables me to test new features and the license management with a lot more people than would otherwise be possible with only the professional license users. It also allows you to experiment, share feedback, and get a glimpse of all the new features without having to order anything.
-
-## Verification
-
-Once you enter a key, the application will communicate with the license server on every startup to verify that everything is in order. From there, it also fetches the current information of which features are currently new and are still included in the preview. Therefore, you can't just modify your local system time to circumvent the time restriction.
diff --git a/docs/program/index.md b/docs/program/index.md
new file mode 100644
index 0000000..07c362c
--- /dev/null
+++ b/docs/program/index.md
@@ -0,0 +1,9 @@
+# XPipe App
+Welcome to the documentation for the interface and settings.
+
+In the pages on the left sidebar,
+you will find information to navigate the program better and understand the functions that you can use.
+
+Most of the interface you see in the documentation is the professional version of XPipe.
+It won't affect the use of XPipe if you are on the community edition.
+If a feature is "professionel," it will be indicated with a `PRO`
\ No newline at end of file
diff --git a/docs/proxmox.md b/docs/proxmox.md
new file mode 100644
index 0000000..530706d
--- /dev/null
+++ b/docs/proxmox.md
@@ -0,0 +1,23 @@
+# Proxmox Connection
+
+XPipe can now detect your proxmox instances via the SSH connection.
+
+When using XPipe to detect and connect to your proxmox server, it is important to be `root` user. Or let the user have `pct` and `qm` in the path.
(Future releases will fix this so that you don't have to be the root user.)
+
+Be sure to use `sudo` if the k8s implementation don't work.
+
+### I cannot connect via SSH to my proxmox?!
+Root is by default prevented from logging in by SSH.
+
+- Edit `/etc/ssh/sshd_config` from the web console/shell.
+- Set `PermitRootLogin yes`
+- Set `Port 22` -> remove the #
+- Edit `ListenAddress 0.0.0.0` ->remove the # and replace 0.0.0.0 with your proxmox computer ip address
+
+Restart the vm/server, and it should be all fine. Login with root user.
+
+### Showing each instance?
+In the server list on the `connections` tab, you can when clicking the arrow down. It will show a list of instances on the selected server.
+
+#### Something is not right!
+Please make a issue on our GitHub repository. Or message us on Discord/Slack.
\ No newline at end of file
diff --git a/docs/shortcuts.md b/docs/shortcuts.md
new file mode 100644
index 0000000..7624e99
--- /dev/null
+++ b/docs/shortcuts.md
@@ -0,0 +1,25 @@
+# Keyboard shortcuts
+
+XPipe supports common shortcuts plus a few custom ones.
+
+### File browser
+
+The file list can be navigated with the arrow keys. You can extend a selection with Shift and move the cursor while keeping the selection by pressing Ctrl.
+
+### Keyboard Shortcuts
+
+| Shortcut | Function |
+|----------------|------------------------------------------|
+| CTRL and SHIFT | Can be used to select multiple files |
+| ALT | Drag any file you explicitly wanna move |
+| CTRL+W | Closes the current file browser tab |
+| CTRL+SHIFT+W | Closes all file browser tabs |
+| CTRL+Q | Closes the window |
+| CTRL+F | Toggle the find text field |
+| CTRL+L | Focus the path location text field |
+| ALT+HOME | Goes to the file system overview page |
+| ALT+H | Shows the browsing history |
+| ALT+UP | Navigates to the parent directory |
+| ESCAPE | Clears the selection |
+| SPACE | Shows the context menu for the selection |
+
diff --git a/docs/synchronization.md b/docs/synchronization.md
new file mode 100644
index 0000000..4e1b9c4
--- /dev/null
+++ b/docs/synchronization.md
@@ -0,0 +1,43 @@
+# Synchronization
+
+Want to have the same connections on other XPipe installations?
+XPipe uses GIT to share the data to other installations of XPipe.
+Here you can find the entire reference sheet for the XPipe synchronization feature.
+
+If you prefer videos, here is an extensive video on how to set up git synchronization:
+
+
+
+
+### Synchronizing for the first time
+
+When using the synchronizing function for the first time, it is important to have a GIT repository ready.
+
+**You will need to have the repository set to `private`**.
+(Unless you want the public to know about your server IP address and "keys", horrendous SecOps)
+
+You can create a remote repository on the git platform of your choice.
+You need to have your local git client configured with your credentials in a credential manager, otherwise XPipe will prompt for your credentials when you start XPipe.
+
+Nowadays, most providers require a personal access token (PAT) to authenticate from the command-line instead of traditional passwords.
+**You can find common (PAT) pages here:**
+**GitHub**: [Personal access tokens (classic)](https://github.com/settings/tokens)
+**GitLab**: [Personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)
+**BitBucket**: [Personal access token](https://support.atlassian.com/bitbucket-cloud/docs/access-tokens/)
**Gitea**: `Settings -> Applications -> Manage Access Tokens section` |
+Set the token permission for repository to Read and Write. The rest of the token permissions can be set as Read.
+
+Once you have your token you can start XPipe and go to `Settings -> Synchronization` tab and insert your git http url e.g `https://github.com/name/xpipe-vault`. Then restart XPipe and enter your `username` and `TOKEN` if asked.
+
+To have connections inside a certain category be put inside your git repository,
+you need it to right-click it or click on the `⚙️` icon (when hovering over the category)
+in your `connections` tab under the `category` overview on the left side.
+Press `Add to git repository`, to sync the category and connections to your git repository.
+(It will sync in the background, so no need to worry.)
+
+![Connections_sync_menu](../static/img/connections_sync_menu.png)
+
+And TA-DA!! 🎉 You now have all your connections in your git repository.
+
+### Troubleshooting
+
+- Check if you have the correct login information or URL to the repository.
\ No newline at end of file
diff --git a/docs/terminal.md b/docs/terminal.md
new file mode 100644
index 0000000..82eb302
--- /dev/null
+++ b/docs/terminal.md
@@ -0,0 +1,38 @@
+# Terminal Configuration
+
+This is the settings for what terminal you want to use with XPipe.
+
+## MacOS Terminal Issues
+
+Please test the terminal via `XPipe -> Settings -> Terminal -> Press "Test"`.
+
+**Common macOS Permission issue:**
+Check your privacy settings in the `Settings` app, then navigate to `Privacy and Security`.
+Go to the `Full Disk Access`, and add the terminal if is not there in the list via the `+` icon in the lower left.
+If it’s already there try removing it and re-adding it.
+Sometimes it helps to close the terminal via the dock and reopen it.
+os x sonoma
+#### Visual guide:
+
+