diff --git a/Makefile b/Makefile
index efb4ad066c79723b5c05f40dcfd9304138079631..ab9f1ad10169c643b43b43013d66459daad11291 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ source:
 	gzip -f9n ../${APP}_${VERSION}.orig.tar
 install:
 	mkdir -p ${DESTDIR}${PREFIX}/bin
+	mkdir -p ${DESTDIR}/usr/share/${APP}/apps
 	mkdir -p ${DESTDIR}/etc/${APP}
 	cp -r image_build/* ${DESTDIR}/etc/${APP}
 	install -m 755 img/backgrounds/${APP}_mesh_background.png ${DESTDIR}${PREFIX}/share
@@ -27,6 +28,7 @@ install:
 	install -m 755 src/${APP}-backup-local ${DESTDIR}${PREFIX}/bin/backup2friends
 	install -m 755 src/${APP}-restore-local ${DESTDIR}${PREFIX}/bin/restore
 	install -m 755 src/${APP}-restore-remote ${DESTDIR}${PREFIX}/bin/restorefromfriend
+	mv ${DESTDIR}${PREFIX}/bin/${APP}-app-* ${DESTDIR}/usr/share/${APP}/apps
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
 	install -m 644 man/*.1.gz ${DESTDIR}${PREFIX}/share/man/man1
 	install -m 644 man/${APP}-backup-local.1.gz ${DESTDIR}${PREFIX}/share/man/man1/backup.1.gz
diff --git a/src/freedombone-mesh-install b/src/freedombone-mesh-install
index 50ca7e84cd6810b755bb18ddfc9d15f647dfb05e..66c58127736167846d22b753e32aba7f8feadb5d 100755
--- a/src/freedombone-mesh-install
+++ b/src/freedombone-mesh-install
@@ -446,11 +446,7 @@ function mesh_tox_node_remove {
 
 function mesh_tox_node {
 	# obtain commits from the main file
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXCORE_COMMIT_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXCORE_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	else
-		TOXCORE_COMMIT_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXCORE_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	fi
+	TOXCORE_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
 	if [ ${#TOXCORE_COMMIT_MAIN} -gt 10 ]; then
 		TOXCORE_COMMIT=$TOXCORE_COMMIT_MAIN
 	fi
@@ -459,11 +455,7 @@ function mesh_tox_node {
 		exit 76325
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXID_REPO_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXID_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	else
-		TOXID_REPO_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXID_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	fi
+	TOXID_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXID_REPO=" | head -n 1 | awk -F '"' '{print $2}')
 	if [ ${#TOXID_REPO_MAIN} -gt 5 ]; then
 		TOXID_REPO=$TOXID_REPO_MAIN
 	fi
@@ -472,11 +464,7 @@ function mesh_tox_node {
 		exit 78252
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOX_PORT_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
-	else
-		TOX_PORT_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
-	fi
+	TOX_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
 	if [ ${#TOX_PORT_MAIN} -gt 2 ]; then
 		TOX_PORT=$TOX_PORT_MAIN
 	fi
@@ -485,11 +473,7 @@ function mesh_tox_node {
 		exit 32856
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXCORE_REPO_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXCORE_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	else
-		TOXCORE_REPO_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXCORE_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	fi
+	TOXCORE_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_REPO=" | head -n 1 | awk -F '"' '{print $2}')
 	if [ ${#TOXCORE_REPO_MAIN} -gt 10 ]; then
 		TOXCORE_REPO=$TOXCORE_REPO_MAIN
 	fi
@@ -595,27 +579,15 @@ function mesh_tox_client_remove {
 }
 
 function mesh_tox_client {
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
-	else
-		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
-	fi
+	TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
 
 	# obtain commits from the main file
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXIC_COMMIT_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	else
-		TOXIC_COMMIT_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	fi
+	TOXIC_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
 	if [ ${#TOXIC_COMMIT_MAIN} -gt 10 ]; then
 		TOXIC_COMMIT=$TOXIC_COMMIT_MAIN
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXIC_REPO_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	else
-		TOXIC_REPO_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	fi
+	TOXIC_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_REPO=" | head -n 1 | awk -F '"' '{print $2}')
 	if [ ${#TOXIC_REPO_MAIN} -gt 5 ]; then
 		TOXIC_REPO=$TOXIC_REPO_MAIN
 	fi
@@ -684,11 +656,7 @@ function mesh_zeronet_remove {
 
 function mesh_zeronet {
 	# obtain commits from the main file
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		ZERONET_COMMIT_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	else
-		ZERONET_COMMIT_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
-	fi
+	ZERONET_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-zeronet | grep "ZERONET_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
 	if [ ${#ZERONET_COMMIT_MAIN} -gt 10 ]; then
 		ZERONET_COMMIT=$ZERONET_COMMIT_MAIN
 	fi
@@ -697,11 +665,7 @@ function mesh_zeronet {
 		exit 37046
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		ZERONET_REPO_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	else
-		ZERONET_REPO_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_REPO=" | head -n 1 | awk -F '"' '{print $2}')
-	fi
+	ZERONET_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-zeronet | grep "ZERONET_REPO=" | head -n 1 | awk -F '"' '{print $2}')
 	if [ ${#ZERONET_REPO_MAIN} -gt 5 ]; then
 		ZERONET_REPO=$ZERONET_REPO_MAIN
 	fi
@@ -710,11 +674,7 @@ function mesh_zeronet {
 		exit 37046
 	fi
 
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		ZERONET_PORT_MAIN=$(cat /usr/local/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_PORT=" | head -n 1 | awk -F '=' '{print $2}')
-	else
-		ZERONET_PORT_MAIN=$(cat /usr/bin/${PROJECT_NAME}-app-zeronet | grep "ZERONET_PORT=" | head -n 1 | awk -F '=' '{print $2}')
-	fi
+	ZERONET_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-zeronet | grep "ZERONET_PORT=" | head -n 1 | awk -F '=' '{print $2}')
 	if [ ${#ZERONET_PORT_MAIN} -gt 1 ]; then
 		ZERONET_PORT=$ZERONET_PORT_MAIN
 	fi
@@ -796,11 +756,7 @@ function mesh_zeronet {
 }
 
 function install_batman_client {
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
-	else
-		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
-	fi
+	TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
 
 	if [ ! -f ${rootdir}/tmp/meshtype ]; then
 		$CHROOT_PREFIX sudo apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
diff --git a/src/freedombone-mirrors b/src/freedombone-mirrors
index 26c4e5f82daec3c21d36843548d5f1b758ff5ed1..f9d1b9406879866f5fa11cc72803bd8fecde7ea4 100755
--- a/src/freedombone-mirrors
+++ b/src/freedombone-mirrors
@@ -58,7 +58,7 @@ if [ ! -f $MAIN_COMMAND ]; then
     MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
 fi
 
-REPOS=($(cat ${MAIN_COMMAND} ${MAIN_COMMAND}-utils-* ${MAIN_COMMAND}-app-* | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
+REPOS=($(cat ${MAIN_COMMAND} ${MAIN_COMMAND}-utils-* /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-* | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
 
 
 # obtain the mirrors password if it exists
diff --git a/src/freedombone-tests b/src/freedombone-tests
index 0b6b5538d6e22d44cb9b347647ef394566276f75..521bdebea38b16a7f857b486fe03319690e45fc3 100755
--- a/src/freedombone-tests
+++ b/src/freedombone-tests
@@ -58,11 +58,7 @@ function test_app_function_type {
 }
 
 function test_app_functions {
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
-		FILES=/usr/local/bin/${PROJECT_NAME}-app-*
-	else
-		FILES=/usr/bin/${PROJECT_NAME}-app-*
-	fi
+	FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
 
 	# check that these functions exist
 	interface_functions=( install remove backup_local backup_remote upgrade )
diff --git a/src/freedombone-utils-selector b/src/freedombone-utils-selector
index 089e9d72d69396a05ffcd924ac72a99a6358e5aa..b72f85deb3159ccbaf8de0f371f4e229230f17fe 100755
--- a/src/freedombone-utils-selector
+++ b/src/freedombone-utils-selector
@@ -65,7 +65,7 @@ function get_apps_installed {
 }
 
 function detect_apps {
-	FILES=$PROJECT_INSTALL_DIR/${PROJECT_NAME}-app-*
+	FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
 
 	APPS_AVAILABLE=()
 	APPS_CHOSEN=()
@@ -89,7 +89,7 @@ function detect_apps {
 function choose_apps_for_variant {
 	variant_name="$1"
 
-	FILES=$PROJECT_INSTALL_DIR/${PROJECT_NAME}-app-*
+	FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
 
 	APPS_AVAILABLE=()
 	APPS_CHOSEN=()
diff --git a/src/freedombone-utils-setup b/src/freedombone-utils-setup
index 2ef5c45653b650ac057344f60fd83a60c4a6642a..1c7ffc7c787ec435eda489e51055fff76aff3f70 100755
--- a/src/freedombone-utils-setup
+++ b/src/freedombone-utils-setup
@@ -236,10 +236,8 @@ function remove_default_user {
 }
 
 function upgrade_installation {
-    if [ ! -d /usr/share/${PROJECT_NAME}/apps ]; then
-        mkdir -p /usr/share/${PROJECT_NAME}/apps
-    fi
-    mv /usr/local/bin/${PROJECT_NAME}-app-* /usr/share/${PROJECT_NAME}/apps
+	# TODO
+	echo ''
 }
 
 function setup_firewall {
@@ -249,7 +247,7 @@ function setup_firewall {
     configure_firewall_for_avahi
 }
 
-function setup_utils {  
+function setup_utils {
     read_configuration
     upgrade_installation
     set_default_onion_domains
diff --git a/src/freedombone-vars b/src/freedombone-vars
index f95c4514dbb98cd9889053534782954c9bec5b64..69fe7bb235a964f8c33e0d658a79bafc9472657c 100755
--- a/src/freedombone-vars
+++ b/src/freedombone-vars
@@ -88,8 +88,8 @@ do
 done
 
 #include apps
-APP_FILES=$PROJECT_INSTALL_DIR/${PROJECT_NAME}-app-*
-for f in $UTILS_FILES
+APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
+for f in $APP_FILES
 do
   source $f
 done