diff --git a/.dockerignore b/.dockerignore
index 6e235fec173fc5aed7fe0def281f9cbf56270951..acae5e696f0ad5861ea8441699fcedc68f03c020 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -83,4 +83,4 @@ config/docker/engine.ini
 env.list
 
 # Socket
-modules/liquidsoap/engine.sock
\ No newline at end of file
+src/liquidsoap/engine.sock
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 61669570db0fbcc5ab555826f7acfa3726f9720f..5c5603e8ffba2ad8d894449dc16f7b5bfd991341 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,5 +11,5 @@ config/systemd/dev/
 env.list
 audio/source
 config/docker/engine.ini
-modules/liquidsoap/engine.sock
+src/liquidsoap/engine.sock
 /python
\ No newline at end of file
diff --git a/config/sample-development.engine.ini b/config/sample-development.engine.ini
index 8c3d3a1e0f01bae522b4556e351c410cefb0bd1d..332e7612e2d47f8abd4f1d0502442dc653cbea6d 100644
--- a/config/sample-development.engine.ini
+++ b/config/sample-development.engine.ini
@@ -117,7 +117,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/home/username/.opam/4.08.0/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="false"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -129,7 +129,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/home/username/code/aura/engine/modules/liquidsoap"
+socketdir="/home/username/code/aura/engine/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/sample-docker.engine.ini b/config/sample-docker.engine.ini
index 25839a02fba1f978c12c12596e0deb6b8f6efa43..57176e37c5cf90b0e60c0066503a12e798beb992 100644
--- a/config/sample-docker.engine.ini
+++ b/config/sample-docker.engine.ini
@@ -116,7 +116,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/usr/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="true"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -128,7 +128,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/srv/modules/liquidsoap"
+socketdir="/srv/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/sample-production.engine.ini b/config/sample-production.engine.ini
index e5c6908fe9b0cf937355fda8fb47025dad061aca..8212604de9f67e5122fd8129ff698f990f890855 100644
--- a/config/sample-production.engine.ini
+++ b/config/sample-production.engine.ini
@@ -116,7 +116,7 @@ fade_out_time="2.5"
 
 [lqs]
 liquidsoap_path="/home/engineuser/.opam/4.08.0/bin/liquidsoap"
-liquidsoap_working_dir="modules/liquidsoap/"
+liquidsoap_working_dir="src/liquidsoap/"
 liquidsoap_as_root="false"
 
 # Liquidsoap execution delay in seconds; Crucial to keep things in sync
@@ -128,7 +128,7 @@ daemongroup="engineuser"
 daemonuser="engineuser"
 
 [socket]
-socketdir="/opt/aura/engine/modules/liquidsoap"
+socketdir="/opt/aura/engine/src/liquidsoap"
 
 [audiosources]
 audio_source_folder="var/audio/source"
diff --git a/config/systemd/aura-engine-lqs.socket b/config/systemd/aura-engine-lqs.socket
index 4f8c5267c4617e430dd8e9796ade7c666cf682bd..0798554a0abf5fe54d4cc2d68a0e321f123a8033 100644
--- a/config/systemd/aura-engine-lqs.socket
+++ b/config/systemd/aura-engine-lqs.socket
@@ -3,7 +3,7 @@ Description=Aura Engine - Liquidsoap Socket
 PartOf=aura-engine-lqs.service
 
 [Socket]
-ListenStream=/opt/aura/engine/modules/liquidsoap/engine.sock
+ListenStream=/opt/aura/engine/src/liquidsoap/engine.sock
 Accept=false
 
 [Install]
diff --git a/docs/developer-guide.md b/docs/developer-guide.md
index ac483de23370aa35cbc688ad3bd349caa64febea..97f66b68eef1496c3afb0f77a32c63d0476ae603 100644
--- a/docs/developer-guide.md
+++ b/docs/developer-guide.md
@@ -59,11 +59,11 @@ OpenAPI definition for Engine API: https://app.swaggerhub.com/apis/AURA-Engine/e
 
 When you start Engine the following is happening:
 
-1. Python `run.py`: Initializes `modules/core/engine.py` (The virtual mixer; class for remote-controlling Liquidsoap), Scheduler
+1. Python `run.py`: Initializes `src/core/engine.py` (The virtual mixer; class for remote-controlling Liquidsoap), Scheduler
 2. Python `run.py`: Start Liquidsoap.
 3. Liquidsoap: When Liquidsoap finished its startup, it creates a socket file as configured in `socketdir` of `engine.ini`.
-4. Python `modules/core/liquidsoap/client.py`: Connects to that socket file.
-5. Python `modules/schedulung/scheduler.py`: Continously loads schedules from the API endpoints, stores them in the local database and starts the playout as per the schedules.
+4. Python `src/core/liquidsoap/client.py`: Connects to that socket file.
+5. Python `src/schedulung/scheduler.py`: Continously loads schedules from the API endpoints, stores them in the local database and starts the playout as per the schedules.
 
 ## More infos for debugging
 
@@ -106,7 +106,7 @@ viewing your connections (with e.g. Patchage).
 as you won't have the need to adapt any Engine setting to get audio playing initially.
 
 **ALSA:** When you use ALSA, you will have to play around with ALSA settings. In the folder
-`./modules/liquidsoap` is a scipt called alsa_settings_tester.liq. You can start it
+`./src/liquidsoap` is a scipt called alsa_settings_tester.liq. You can start it
 with 'liquidsoap -v --debug alsa_settings_tester.liq'. Changing and playing with
 settings may help you to find correct ALSA settings.
 
diff --git a/docs/frequently-asked-questions.md b/docs/frequently-asked-questions.md
index 44447bef31a3d1e8d7d80e56366866c864f64f5b..b17bb0dcb9828dd61667e786be29b1539b1c38a6 100644
--- a/docs/frequently-asked-questions.md
+++ b/docs/frequently-asked-questions.md
@@ -58,7 +58,7 @@ Well, this is - at least for me - a hard one. I could not manage to find correct
 
 ## I have issues with starting the Engine
 
-**Cannot connect to socketpath /opt/aura/engine/modules/liquidsoap/engine.sock. Reason: [Errno 111] Connection refused**
+**Cannot connect to socketpath /opt/aura/engine/src/liquidsoap/engine.sock. Reason: [Errno 111] Connection refused**
 
 - This indicates some issue with the proper startup of Liquidsoap or any related audio device. Check the Liquidsoap logs for details.
 
diff --git a/run.py b/run.py
index a8242834449f3e90ed85d2c1f1ad24277c63ed6b..3fa2d593ccbbe76066adbf5cbac648653ccca570 100755
--- a/run.py
+++ b/run.py
@@ -33,9 +33,9 @@ import time
 from flask               import Flask
 from flask_sqlalchemy    import SQLAlchemy
 
-from modules.base.logger import AuraLogger
-from modules.base.config import AuraConfig
-from modules.base.utils  import SimpleUtil as SU
+from src.base.logger import AuraLogger
+from src.base.config import AuraConfig
+from src.base.utils  import SimpleUtil as SU
 
 
 config = AuraConfig()
@@ -78,8 +78,8 @@ class EngineRunner:
         """
         Starts Engine Core.
         """                
-        from modules.scheduling.scheduler import AuraScheduler
-        from modules.core.engine import Engine
+        from src.scheduling.scheduler import AuraScheduler
+        from src.core.engine import Engine
 
         # Check if the database has to be re-created
         if self.config.get("recreate_db") is not None:
diff --git a/modules/base/config.py b/src/base/config.py
similarity index 100%
rename from modules/base/config.py
rename to src/base/config.py
diff --git a/modules/base/exceptions.py b/src/base/exceptions.py
similarity index 100%
rename from modules/base/exceptions.py
rename to src/base/exceptions.py
diff --git a/modules/base/logger.py b/src/base/logger.py
similarity index 98%
rename from modules/base/logger.py
rename to src/base/logger.py
index 87c7fda8aab27a09a0e31ae3eb09f9ff5d14166b..d1d26730dfece6fa472b8bcec6c818ebea9d3fa3 100644
--- a/modules/base/logger.py
+++ b/src/base/logger.py
@@ -19,7 +19,7 @@
 
 import logging
 
-from modules.base.config import AuraConfig
+from src.base.config import AuraConfig
 
 
 class AuraLogger():
diff --git a/modules/base/mail.py b/src/base/mail.py
similarity index 100%
rename from modules/base/mail.py
rename to src/base/mail.py
diff --git a/modules/base/models.py b/src/base/models.py
similarity index 97%
rename from modules/base/models.py
rename to src/base/models.py
index 9f66f395bc33324f49542de6e128ca5eeada2bad..430dae8ea4a29dcdf671a486ff911f0a09fa09e4 100644
--- a/modules/base/models.py
+++ b/src/base/models.py
@@ -24,15 +24,15 @@ import datetime
 
 import sqlalchemy as sa
 
-from sqlalchemy.ext.declarative         import declarative_base
-from sqlalchemy                         import orm
-from sqlalchemy                         import BigInteger, Boolean, Column, DateTime, Integer, String, ForeignKey
-from sqlalchemy.orm                     import relationship
-from sqlalchemy.ext.hybrid              import hybrid_property
-
-from modules.base.config                import AuraConfig
-from modules.base.utils                 import SimpleUtil
-from modules.core.resources             import ResourceUtil
+from sqlalchemy.ext.declarative     import declarative_base
+from sqlalchemy                     import orm
+from sqlalchemy                     import BigInteger, Boolean, Column, DateTime, Integer, String, ForeignKey
+from sqlalchemy.orm                 import relationship
+from sqlalchemy.ext.hybrid          import hybrid_property
+
+from src.base.config                import AuraConfig
+from src.base.utils                 import SimpleUtil
+from src.core.resources             import ResourceUtil
 
 
 
diff --git a/modules/base/utils.py b/src/base/utils.py
similarity index 100%
rename from modules/base/utils.py
rename to src/base/utils.py
diff --git a/modules/core/channels.py b/src/core/channels.py
similarity index 98%
rename from modules/core/channels.py
rename to src/core/channels.py
index c7976a918a142f0fcd49cb48250d654d6a216183..c5184659cc2c1465f28b6fed806e39288ece242b 100644
--- a/modules/core/channels.py
+++ b/src/core/channels.py
@@ -19,8 +19,8 @@
 
 from enum import Enum
 
-from modules.base.utils import SimpleUtil as SU
-from modules.core.resources import ResourceType
+from src.base.utils import SimpleUtil as SU
+from src.core.resources import ResourceType
 
 
 class TransitionType(Enum):
diff --git a/modules/core/control.py b/src/core/control.py
similarity index 96%
rename from modules/core/control.py
rename to src/core/control.py
index 98a0038ed44bf4253f7ae82d9350aa3676561abe..7cba546dfa640e453488fa681d646024e02d7491 100644
--- a/modules/core/control.py
+++ b/src/core/control.py
@@ -23,13 +23,13 @@ import time
 import json
 
 
-from threading                  import Thread, Timer
-from datetime                   import datetime, timedelta
-from http_parser.http           import HttpStream
-from http_parser.reader         import SocketReader
+from threading              import Thread, Timer
+from datetime               import datetime, timedelta
+from http_parser.http       import HttpStream
+from http_parser.reader     import SocketReader
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
 
 
 
@@ -207,7 +207,7 @@ class EngineExecutor(Timer):
             func (function):                The function to be called
             param (object):                 Parameter passt to the function
         """        
-        from modules.core.engine import Engine
+        from src.core.engine import Engine
         now_unix = Engine.engine_time()        
         self.child_timer = child_timer
         self.direct_exec = False
diff --git a/modules/core/engine.py b/src/core/engine.py
similarity index 96%
rename from modules/core/engine.py
rename to src/core/engine.py
index 5ee2775d596f10891ef99bf1b5e3122ef6ee8e0c..98d6520ae033823777d614d2a0f43389c3d338f4 100644
--- a/modules/core/engine.py
+++ b/src/core/engine.py
@@ -25,17 +25,15 @@ from threading                  import Thread
 
 import meta
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
-from modules.base.exceptions    import LQConnectionError, InvalidChannelException, LQStreamException, \
-                                       LoadSourceException
-from modules.core.resources     import ResourceClass, ResourceUtil                                   
-from modules.core.channels      import ChannelType, TransitionType, LiquidsoapResponse, \
-                                       EntryPlayState, ResourceType, ChannelRouter
-from modules.core.events        import EngineEventDispatcher
-from modules.core.control       import EngineControlInterface
-from modules.core.mixer         import Mixer, MixerType
-from modules.core.liquidsoap.connector import PlayerConnector
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError, InvalidChannelException, LQStreamException, LoadSourceException
+from src.core.resources     import ResourceClass, ResourceUtil                                   
+from src.core.channels      import ChannelType, TransitionType, LiquidsoapResponse, EntryPlayState, ResourceType, ChannelRouter
+from src.core.events        import EngineEventDispatcher
+from src.core.control       import EngineControlInterface
+from src.core.mixer         import Mixer, MixerType
+from src.core.liquidsoap.connector import PlayerConnector
 
 
 
diff --git a/modules/core/events.py b/src/core/events.py
similarity index 96%
rename from modules/core/events.py
rename to src/core/events.py
index ec8d7480f66c696b5b551e3f9c2bb316d63eeba7..75b00cebe4184e110afcaa454c913c2499b8edb7 100644
--- a/modules/core/events.py
+++ b/src/core/events.py
@@ -22,11 +22,11 @@ import datetime
 
 from threading                      import Thread
 
-from modules.base.config            import AuraConfig
-from modules.base.utils             import SimpleUtil as SU
-from modules.base.mail              import AuraMailer
-from modules.plugins.monitor        import AuraMonitor
-from modules.plugins.trackservice   import TrackServiceHandler
+from src.base.config            import AuraConfig
+from src.base.utils             import SimpleUtil as SU
+from src.base.mail              import AuraMailer
+from src.plugins.monitor        import AuraMonitor
+from src.plugins.trackservice   import TrackServiceHandler
 
 
 class EventBinding():
@@ -149,7 +149,7 @@ class EngineEventDispatcher():
         Called when the engine is initialized, just before
         """
         self.logger.debug("on_initialized(..)")
-        from modules.scheduling.scheduler import AuraScheduler
+        from src.scheduling.scheduler import AuraScheduler
         self.scheduler = AuraScheduler(self.engine)
         self.call_event("on_initialized", None)
 
diff --git a/modules/core/liquidsoap/client.py b/src/core/liquidsoap/client.py
similarity index 98%
rename from modules/core/liquidsoap/client.py
rename to src/core/liquidsoap/client.py
index c49b89a9f667cdfd1c3cf68b9ed149c0a0e3c8e5..89214d381eb9a6ae5293bda8cecd1c0e5be10a90 100644
--- a/modules/core/liquidsoap/client.py
+++ b/src/core/liquidsoap/client.py
@@ -24,8 +24,8 @@ import logging
 
 from multiprocessing import Lock
 
-from modules.base.exceptions import LQConnectionError
-from modules.base.utils import TerminalColors
+from src.base.exceptions import LQConnectionError
+from src.base.utils import TerminalColors
 
 
 
diff --git a/modules/core/liquidsoap/connector.py b/src/core/liquidsoap/connector.py
similarity index 96%
rename from modules/core/liquidsoap/connector.py
rename to src/core/liquidsoap/connector.py
index a5e26737e1c403ac09361b6b7025965f615fe531..e120c17317d86d39a572b869791e6d9203960fab 100644
--- a/modules/core/liquidsoap/connector.py
+++ b/src/core/liquidsoap/connector.py
@@ -20,10 +20,10 @@
 import logging
 import time
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import TerminalColors, SimpleUtil as SU
-from modules.base.exceptions    import LQConnectionError                                       
-from modules.core.liquidsoap.playerclient import LiquidSoapPlayerClient
+from src.base.config        import AuraConfig
+from src.base.utils         import TerminalColors, SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError                                       
+from src.core.liquidsoap.playerclient import LiquidSoapPlayerClient
 
 
 
diff --git a/modules/core/liquidsoap/playerclient.py b/src/core/liquidsoap/playerclient.py
similarity index 99%
rename from modules/core/liquidsoap/playerclient.py
rename to src/core/liquidsoap/playerclient.py
index 7604c67cac3d5327894949c356398e07e573a48d..e2185a3566749f2c4b8fe88aa1f32b39cf03c41a 100644
--- a/modules/core/liquidsoap/playerclient.py
+++ b/src/core/liquidsoap/playerclient.py
@@ -17,7 +17,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from modules.core.liquidsoap.client import LiquidSoapClient
+from src.core.liquidsoap.client import LiquidSoapClient
 
 
 class LiquidSoapPlayerClient(LiquidSoapClient):
diff --git a/modules/core/mixer.py b/src/core/mixer.py
similarity index 99%
rename from modules/core/mixer.py
rename to src/core/mixer.py
index 8a92b7f79f583e6aeaabb9747c2bd2f7ea27034c..b53669734d442126e44b9954ab824e540d0562cb 100644
--- a/modules/core/mixer.py
+++ b/src/core/mixer.py
@@ -23,8 +23,8 @@ import logging
 import time
 
 from enum                       import Enum
-from modules.base.exceptions    import LQConnectionError
-from modules.base.utils         import SimpleUtil as SU
+from src.base.exceptions    import LQConnectionError
+from src.base.utils         import SimpleUtil as SU
 
 
 
diff --git a/modules/core/resources.py b/src/core/resources.py
similarity index 100%
rename from modules/core/resources.py
rename to src/core/resources.py
diff --git a/modules/liquidsoap/__init__.py b/src/liquidsoap/__init__.py
similarity index 100%
rename from modules/liquidsoap/__init__.py
rename to src/liquidsoap/__init__.py
diff --git a/modules/liquidsoap/engine.liq b/src/liquidsoap/engine.liq
similarity index 100%
rename from modules/liquidsoap/engine.liq
rename to src/liquidsoap/engine.liq
diff --git a/modules/liquidsoap/helpers/__init__.py b/src/liquidsoap/helpers/__init__.py
similarity index 100%
rename from modules/liquidsoap/helpers/__init__.py
rename to src/liquidsoap/helpers/__init__.py
diff --git a/modules/liquidsoap/helpers/silence.sh b/src/liquidsoap/helpers/silence.sh
similarity index 100%
rename from modules/liquidsoap/helpers/silence.sh
rename to src/liquidsoap/helpers/silence.sh
diff --git a/modules/liquidsoap/in_fallback.liq b/src/liquidsoap/in_fallback.liq
similarity index 100%
rename from modules/liquidsoap/in_fallback.liq
rename to src/liquidsoap/in_fallback.liq
diff --git a/modules/liquidsoap/in_queue.liq b/src/liquidsoap/in_queue.liq
similarity index 100%
rename from modules/liquidsoap/in_queue.liq
rename to src/liquidsoap/in_queue.liq
diff --git a/modules/liquidsoap/in_soundcard.liq b/src/liquidsoap/in_soundcard.liq
similarity index 100%
rename from modules/liquidsoap/in_soundcard.liq
rename to src/liquidsoap/in_soundcard.liq
diff --git a/modules/liquidsoap/in_stream.liq b/src/liquidsoap/in_stream.liq
similarity index 100%
rename from modules/liquidsoap/in_stream.liq
rename to src/liquidsoap/in_stream.liq
diff --git a/modules/liquidsoap/library.liq b/src/liquidsoap/library.liq
similarity index 100%
rename from modules/liquidsoap/library.liq
rename to src/liquidsoap/library.liq
diff --git a/modules/liquidsoap/out_filesystem.liq b/src/liquidsoap/out_filesystem.liq
similarity index 100%
rename from modules/liquidsoap/out_filesystem.liq
rename to src/liquidsoap/out_filesystem.liq
diff --git a/modules/liquidsoap/out_soundcard.liq b/src/liquidsoap/out_soundcard.liq
similarity index 100%
rename from modules/liquidsoap/out_soundcard.liq
rename to src/liquidsoap/out_soundcard.liq
diff --git a/modules/liquidsoap/out_stream.liq b/src/liquidsoap/out_stream.liq
similarity index 100%
rename from modules/liquidsoap/out_stream.liq
rename to src/liquidsoap/out_stream.liq
diff --git a/modules/liquidsoap/outgoing_recordings/aac.liq b/src/liquidsoap/outgoing_recordings/aac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/aac.liq
rename to src/liquidsoap/outgoing_recordings/aac.liq
diff --git a/modules/liquidsoap/outgoing_recordings/flac.liq b/src/liquidsoap/outgoing_recordings/flac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/flac.liq
rename to src/liquidsoap/outgoing_recordings/flac.liq
diff --git a/modules/liquidsoap/outgoing_recordings/mp3.liq b/src/liquidsoap/outgoing_recordings/mp3.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/mp3.liq
rename to src/liquidsoap/outgoing_recordings/mp3.liq
diff --git a/modules/liquidsoap/outgoing_recordings/ogg.liq b/src/liquidsoap/outgoing_recordings/ogg.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/ogg.liq
rename to src/liquidsoap/outgoing_recordings/ogg.liq
diff --git a/modules/liquidsoap/outgoing_recordings/opus.liq b/src/liquidsoap/outgoing_recordings/opus.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/opus.liq
rename to src/liquidsoap/outgoing_recordings/opus.liq
diff --git a/modules/liquidsoap/outgoing_recordings/wav.liq b/src/liquidsoap/outgoing_recordings/wav.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_recordings/wav.liq
rename to src/liquidsoap/outgoing_recordings/wav.liq
diff --git a/modules/liquidsoap/outgoing_streams/aac.liq b/src/liquidsoap/outgoing_streams/aac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/aac.liq
rename to src/liquidsoap/outgoing_streams/aac.liq
diff --git a/modules/liquidsoap/outgoing_streams/flac.liq b/src/liquidsoap/outgoing_streams/flac.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/flac.liq
rename to src/liquidsoap/outgoing_streams/flac.liq
diff --git a/modules/liquidsoap/outgoing_streams/mp3.liq b/src/liquidsoap/outgoing_streams/mp3.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/mp3.liq
rename to src/liquidsoap/outgoing_streams/mp3.liq
diff --git a/modules/liquidsoap/outgoing_streams/ogg.liq b/src/liquidsoap/outgoing_streams/ogg.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/ogg.liq
rename to src/liquidsoap/outgoing_streams/ogg.liq
diff --git a/modules/liquidsoap/outgoing_streams/opus.liq b/src/liquidsoap/outgoing_streams/opus.liq
similarity index 100%
rename from modules/liquidsoap/outgoing_streams/opus.liq
rename to src/liquidsoap/outgoing_streams/opus.liq
diff --git a/modules/liquidsoap/readini.liq b/src/liquidsoap/readini.liq
similarity index 100%
rename from modules/liquidsoap/readini.liq
rename to src/liquidsoap/readini.liq
diff --git a/modules/liquidsoap/serverfunctions.liq b/src/liquidsoap/serverfunctions.liq
similarity index 100%
rename from modules/liquidsoap/serverfunctions.liq
rename to src/liquidsoap/serverfunctions.liq
diff --git a/modules/liquidsoap/settings.liq b/src/liquidsoap/settings.liq
similarity index 100%
rename from modules/liquidsoap/settings.liq
rename to src/liquidsoap/settings.liq
diff --git a/modules/liquidsoap/unused_fallback.liq b/src/liquidsoap/unused_fallback.liq
similarity index 100%
rename from modules/liquidsoap/unused_fallback.liq
rename to src/liquidsoap/unused_fallback.liq
diff --git a/modules/liquidsoap/unused_record.liq b/src/liquidsoap/unused_record.liq
similarity index 100%
rename from modules/liquidsoap/unused_record.liq
rename to src/liquidsoap/unused_record.liq
diff --git a/modules/liquidsoap/unused_recorder.liq b/src/liquidsoap/unused_recorder.liq
similarity index 100%
rename from modules/liquidsoap/unused_recorder.liq
rename to src/liquidsoap/unused_recorder.liq
diff --git a/modules/liquidsoap/unused_stream.liq b/src/liquidsoap/unused_stream.liq
similarity index 100%
rename from modules/liquidsoap/unused_stream.liq
rename to src/liquidsoap/unused_stream.liq
diff --git a/modules/plugins/monitor.py b/src/plugins/monitor.py
similarity index 98%
rename from modules/plugins/monitor.py
rename to src/plugins/monitor.py
index 6cdae73cb9154df4563050e9c93a9865c0ffc71a..b2ce6633cc8e5e9cb7a678cadc570585849c0f83 100644
--- a/modules/plugins/monitor.py
+++ b/src/plugins/monitor.py
@@ -22,17 +22,17 @@ import datetime
 import urllib
 import logging
 import json
-import requests
 import threading
 import platform
+import requests
 
 from enum import Enum
 from socket import socket, AF_INET, SOCK_DGRAM, SOL_SOCKET, SO_BROADCAST
 
 import meta
-from modules.base.config import AuraConfig
-from modules.base.utils import SimpleUtil as SU
-from modules.base.mail import AuraMailer
+from src.base.config import AuraConfig
+from src.base.utils import SimpleUtil as SU
+from src.base.mail import AuraMailer
 
 
 
diff --git a/modules/plugins/trackservice.py b/src/plugins/trackservice.py
similarity index 98%
rename from modules/plugins/trackservice.py
rename to src/plugins/trackservice.py
index 999db6bc5245633dc6273857223ecf8a7381a953..44537476e252848ec7ba86aef464d8e9849d6013 100644
--- a/modules/plugins/trackservice.py
+++ b/src/plugins/trackservice.py
@@ -24,11 +24,11 @@ import requests
 from collections import deque
 from datetime import datetime, timedelta
 
-from modules.base.config import AuraConfig
-from modules.base.utils import SimpleUtil as SU
-from modules.core.resources import ResourceClass
-from modules.core.resources import ResourceUtil
-from modules.scheduling.fallback import FallbackType
+from src.base.config import AuraConfig
+from src.base.utils import SimpleUtil as SU
+from src.core.resources import ResourceClass
+from src.core.resources import ResourceUtil
+from src.scheduling.fallback import FallbackType
 
 
 
diff --git a/modules/scheduling/calendar.py b/src/scheduling/calendar.py
similarity index 98%
rename from modules/scheduling/calendar.py
rename to src/scheduling/calendar.py
index 4d5efd73943dd55dd96e11dc7833c7476fb2adac..b208165f8353cb93e15d247565c192f4bc966602 100644
--- a/modules/scheduling/calendar.py
+++ b/src/scheduling/calendar.py
@@ -26,10 +26,10 @@ import logging
 
 from datetime import datetime
 
-# from modules.scheduling.types import PlaylistType
-from modules.base.utils import SimpleUtil as SU
-from modules.base.models import Schedule, Playlist, PlaylistEntry, PlaylistEntryMetaData
-from modules.scheduling.calender_fetcher import CalendarFetcher
+from src.base.utils import SimpleUtil as SU
+from src.base.models import Schedule, Playlist, PlaylistEntry, PlaylistEntryMetaData
+from src.scheduling.calender_fetcher import CalendarFetcher
+
 
 
 class AuraCalendarService(threading.Thread):
diff --git a/modules/scheduling/calender_fetcher.py b/src/scheduling/calender_fetcher.py
similarity index 99%
rename from modules/scheduling/calender_fetcher.py
rename to src/scheduling/calender_fetcher.py
index b6a74537e92e1a01caab14aaefee531ce631be15..dd869346c8e1dc616de4fcd9cc88a287942a139a 100644
--- a/modules/scheduling/calender_fetcher.py
+++ b/src/scheduling/calender_fetcher.py
@@ -23,7 +23,9 @@ import logging
 import requests
 
 from datetime import datetime
-from modules.base.utils import SimpleUtil as SU
+
+from src.base.utils import SimpleUtil as SU
+
 
 
 class CalendarFetcher:
diff --git a/modules/scheduling/fallback.py b/src/scheduling/fallback.py
similarity index 94%
rename from modules/scheduling/fallback.py
rename to src/scheduling/fallback.py
index aa0e2305c5aab2bca6ff46b285c6ad7354024f6b..307ad88ded67d57512c9d7d7dc8d71cff8de924c 100644
--- a/modules/scheduling/fallback.py
+++ b/src/scheduling/fallback.py
@@ -21,15 +21,15 @@
 
 import logging
 
-from enum                       import Enum
-from datetime                   import timedelta
+from enum                   import Enum
+from datetime               import timedelta
 
-from modules.base.config        import AuraConfig
-from modules.base.utils         import SimpleUtil as SU
-from modules.base.mail          import AuraMailer
-from modules.core.resources     import ResourceClass
-from modules.core.channels      import Channel
-from modules.core.control       import EngineExecutor
+from src.base.config        import AuraConfig
+from src.base.utils         import SimpleUtil as SU
+from src.base.mail          import AuraMailer
+from src.core.resources     import ResourceClass
+from src.core.channels      import Channel
+from src.core.control       import EngineExecutor
 
 
 
@@ -210,7 +210,7 @@ class FallbackCommand(EngineExecutor):
             timeslot (Timeslot):    The timeslot any fallback entries should be scheduled for
             entries (List):         List of entries to be scheduled as fallback
         """        
-        from modules.core.engine import Engine
+        from src.core.engine import Engine
 
         def do_play(entries):
             self.logger.info(SU.cyan(f"=== start_fallback_playlist('{entries}') ==="))
diff --git a/modules/scheduling/scheduler.py b/src/scheduling/scheduler.py
similarity index 98%
rename from modules/scheduling/scheduler.py
rename to src/scheduling/scheduler.py
index d6389556cbe63d339100dc5c9bc5b5e7deed0683..22e076156b196852d01c6a51342615587f6620be 100644
--- a/modules/scheduling/scheduler.py
+++ b/src/scheduling/scheduler.py
@@ -27,16 +27,16 @@ from enum import Enum
 from operator import attrgetter
 from datetime import datetime, timedelta
 
-from modules.base.config                    import AuraConfig
-from modules.base.utils                     import SimpleUtil as SU
-from modules.base.models                    import AuraDatabaseModel, Schedule, Playlist
-from modules.base.exceptions                import NoActiveScheduleException, LoadSourceException
-from modules.core.control                   import EngineExecutor
-from modules.core.engine                    import Engine
-from modules.core.channels                  import ChannelType, TransitionType, EntryPlayState
-from modules.core.resources                 import ResourceClass, ResourceUtil
-from modules.scheduling.calendar            import AuraCalendarService
-from modules.scheduling.fallback            import FallbackManager
+from src.base.config                    import AuraConfig
+from src.base.utils                     import SimpleUtil as SU
+from src.base.models                    import AuraDatabaseModel, Schedule, Playlist
+from src.base.exceptions                import NoActiveScheduleException, LoadSourceException
+from src.core.control                   import EngineExecutor
+from src.core.engine                    import Engine
+from src.core.channels                  import ChannelType, TransitionType, EntryPlayState
+from src.core.resources                 import ResourceClass, ResourceUtil
+from src.scheduling.calendar            import AuraCalendarService
+from src.scheduling.fallback            import FallbackManager
 
 
 
diff --git a/tests/connection_tester.py b/tests/connection_tester.py
index f0b0c094db26d98a80874209a6902d9d26a104f9..6a00c030a594ad12a2b342ad12846ace5b1d81cf 100644
--- a/tests/connection_tester.py
+++ b/tests/connection_tester.py
@@ -22,8 +22,8 @@
 import urllib
 import json
 
-from modules.core.engine import Engine
-from modules.base.config import AuraConfig
+from src.core.engine import Engine
+from src.base.config import AuraConfig
 
 
 # ------------------------------------------------------------------------------------------ #
diff --git a/tests/test.py b/tests/test.py
index b466adce1e305658259d9e0e3934665f351131c4..c3510a9f997eb801160db339fa57b2f29606cfc3 100644
--- a/tests/test.py
+++ b/tests/test.py
@@ -24,14 +24,14 @@ import validators
 
 from datetime import datetime
 
-from modules.base.logger import AuraLogger
-from modules.base.config import AuraConfig
-from modules.base.models import Schedule, TrackService
+from src.base.logger import AuraLogger
+from src.base.config import AuraConfig
+from src.base.models import Schedule, TrackService
 
 
-# modules
-from modules.core.engine import SoundSystem
-from modules.scheduling.scheduler import AuraScheduler
+# src
+from src.core.engine import SoundSystem
+from src.scheduling.scheduler import AuraScheduler
 
 class TestLogger(unittest.TestCase):
     aura_logger = None
diff --git a/tests/tests.py b/tests/tests.py
index eaa066ec462d1030adf51e38ab691a7c64be3752..b42b83e603f347b5f8156c3e9e707c445eede3ed 100755
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -27,10 +27,10 @@ import sqlalchemy
 import decimal
 import datetime
 
-from modules.base.config import AuraConfig
-from modules.base.models import PlaylistEntry
-from modules.core.engine import Engine
-from modules.scheduling.scheduler import AuraScheduler
+from src.base.config import AuraConfig
+from src.base.models import PlaylistEntry
+from src.core.engine import Engine
+from src.scheduling.scheduler import AuraScheduler