diff --git a/cmd/wire_gen.go b/cmd/wire_gen.go
index cf8a4e69b..db6c073ee 100644
--- a/cmd/wire_gen.go
+++ b/cmd/wire_gen.go
@@ -8,12 +8,12 @@ package cmd
 import (
 	"github.com/deluan/navidrome/core"
 	"github.com/deluan/navidrome/core/transcoder"
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/persistence"
 	"github.com/deluan/navidrome/scanner"
 	"github.com/deluan/navidrome/server"
 	"github.com/deluan/navidrome/server/app"
 	"github.com/deluan/navidrome/server/subsonic"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/google/wire"
 )
 
diff --git a/cmd/wire_injectors.go b/cmd/wire_injectors.go
index 40b209982..62b283cf9 100644
--- a/cmd/wire_injectors.go
+++ b/cmd/wire_injectors.go
@@ -4,12 +4,12 @@ package cmd
 
 import (
 	"github.com/deluan/navidrome/core"
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/persistence"
 	"github.com/deluan/navidrome/scanner"
 	"github.com/deluan/navidrome/server"
 	"github.com/deluan/navidrome/server/app"
 	"github.com/deluan/navidrome/server/subsonic"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/google/wire"
 )
 
diff --git a/server/subsonic/album_lists.go b/server/subsonic/album_lists.go
index 0e827a37d..c2e8be301 100644
--- a/server/subsonic/album_lists.go
+++ b/server/subsonic/album_lists.go
@@ -4,8 +4,8 @@ import (
 	"errors"
 	"net/http"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/server/subsonic/album_lists_test.go b/server/subsonic/album_lists_test.go
index 788a55287..d97ddcfa2 100644
--- a/server/subsonic/album_lists_test.go
+++ b/server/subsonic/album_lists_test.go
@@ -5,7 +5,7 @@ import (
 	"errors"
 	"net/http/httptest"
 
-	"github.com/deluan/navidrome/engine"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
 )
diff --git a/server/subsonic/api.go b/server/subsonic/api.go
index 4db481381..b3d6b9eda 100644
--- a/server/subsonic/api.go
+++ b/server/subsonic/api.go
@@ -9,9 +9,9 @@ import (
 
 	"github.com/deluan/navidrome/consts"
 	"github.com/deluan/navidrome/core"
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 	"github.com/go-chi/chi"
diff --git a/server/subsonic/browsing.go b/server/subsonic/browsing.go
index 7f422464a..9862850ce 100644
--- a/server/subsonic/browsing.go
+++ b/server/subsonic/browsing.go
@@ -6,9 +6,9 @@ import (
 	"time"
 
 	"github.com/deluan/navidrome/conf"
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/engine/browser.go b/server/subsonic/engine/browser.go
similarity index 100%
rename from engine/browser.go
rename to server/subsonic/engine/browser.go
diff --git a/engine/browser_test.go b/server/subsonic/engine/browser_test.go
similarity index 100%
rename from engine/browser_test.go
rename to server/subsonic/engine/browser_test.go
diff --git a/engine/common.go b/server/subsonic/engine/common.go
similarity index 100%
rename from engine/common.go
rename to server/subsonic/engine/common.go
diff --git a/engine/engine_suite_test.go b/server/subsonic/engine/engine_suite_test.go
similarity index 100%
rename from engine/engine_suite_test.go
rename to server/subsonic/engine/engine_suite_test.go
diff --git a/engine/list_generator.go b/server/subsonic/engine/list_generator.go
similarity index 100%
rename from engine/list_generator.go
rename to server/subsonic/engine/list_generator.go
diff --git a/engine/mock_transcoding_repo_test.go b/server/subsonic/engine/mock_transcoding_repo_test.go
similarity index 100%
rename from engine/mock_transcoding_repo_test.go
rename to server/subsonic/engine/mock_transcoding_repo_test.go
diff --git a/engine/nowplaying.go b/server/subsonic/engine/nowplaying.go
similarity index 100%
rename from engine/nowplaying.go
rename to server/subsonic/engine/nowplaying.go
diff --git a/engine/nowplaying_test.go b/server/subsonic/engine/nowplaying_test.go
similarity index 100%
rename from engine/nowplaying_test.go
rename to server/subsonic/engine/nowplaying_test.go
diff --git a/engine/players.go b/server/subsonic/engine/players.go
similarity index 100%
rename from engine/players.go
rename to server/subsonic/engine/players.go
diff --git a/engine/players_test.go b/server/subsonic/engine/players_test.go
similarity index 100%
rename from engine/players_test.go
rename to server/subsonic/engine/players_test.go
diff --git a/engine/playlists.go b/server/subsonic/engine/playlists.go
similarity index 100%
rename from engine/playlists.go
rename to server/subsonic/engine/playlists.go
diff --git a/engine/scrobbler.go b/server/subsonic/engine/scrobbler.go
similarity index 100%
rename from engine/scrobbler.go
rename to server/subsonic/engine/scrobbler.go
diff --git a/engine/search.go b/server/subsonic/engine/search.go
similarity index 100%
rename from engine/search.go
rename to server/subsonic/engine/search.go
diff --git a/engine/users.go b/server/subsonic/engine/users.go
similarity index 100%
rename from engine/users.go
rename to server/subsonic/engine/users.go
diff --git a/engine/users_test.go b/server/subsonic/engine/users_test.go
similarity index 100%
rename from engine/users_test.go
rename to server/subsonic/engine/users_test.go
diff --git a/engine/wire_providers.go b/server/subsonic/engine/wire_providers.go
similarity index 100%
rename from engine/wire_providers.go
rename to server/subsonic/engine/wire_providers.go
diff --git a/server/subsonic/helpers.go b/server/subsonic/helpers.go
index f391fbaab..15950a2ba 100644
--- a/server/subsonic/helpers.go
+++ b/server/subsonic/helpers.go
@@ -7,9 +7,9 @@ import (
 	"net/http"
 
 	"github.com/deluan/navidrome/consts"
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/model"
 	"github.com/deluan/navidrome/model/request"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/server/subsonic/media_annotation.go b/server/subsonic/media_annotation.go
index 5b4d3eb02..285a85799 100644
--- a/server/subsonic/media_annotation.go
+++ b/server/subsonic/media_annotation.go
@@ -5,9 +5,9 @@ import (
 	"net/http"
 	"time"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/server/subsonic/middlewares.go b/server/subsonic/middlewares.go
index 5db52c168..ba1320836 100644
--- a/server/subsonic/middlewares.go
+++ b/server/subsonic/middlewares.go
@@ -7,10 +7,10 @@ import (
 	"net/url"
 	"strings"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
 	"github.com/deluan/navidrome/model/request"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/server/subsonic/middlewares_test.go b/server/subsonic/middlewares_test.go
index dbe640c67..5d7037897 100644
--- a/server/subsonic/middlewares_test.go
+++ b/server/subsonic/middlewares_test.go
@@ -7,10 +7,10 @@ import (
 	"net/http/httptest"
 	"strings"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
 	"github.com/deluan/navidrome/model/request"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
 )
diff --git a/server/subsonic/playlists.go b/server/subsonic/playlists.go
index 6f10705b3..6d98d8cd7 100644
--- a/server/subsonic/playlists.go
+++ b/server/subsonic/playlists.go
@@ -6,9 +6,9 @@ import (
 	"fmt"
 	"net/http"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
 	"github.com/deluan/navidrome/model"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )
diff --git a/server/subsonic/searching.go b/server/subsonic/searching.go
index c2218ad53..f9772b716 100644
--- a/server/subsonic/searching.go
+++ b/server/subsonic/searching.go
@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"net/http"
 
-	"github.com/deluan/navidrome/engine"
 	"github.com/deluan/navidrome/log"
+	"github.com/deluan/navidrome/server/subsonic/engine"
 	"github.com/deluan/navidrome/server/subsonic/responses"
 	"github.com/deluan/navidrome/utils"
 )