From f0da6f25969edf808104eb966bee7313df368bde Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Elias=20M=C3=BCller?= <elias@elias-mueller.com>
Date: Sat, 3 Jun 2023 11:27:14 +0200
Subject: [PATCH] Refactor codebase resolving warnings and remove self-package
 imports

---
 .idea/libraries/Dart_Packages.xml             |  8 +++++++
 lib/api/marianumcloud/talk/chat/getChat.dart  |  6 ++---
 .../marianumcloud/talk/chat/getChatCache.dart |  8 +++----
 .../talk/chat/getChatParams.dart              |  3 ++-
 .../talk/chat/getChatResponse.dart            |  5 +++--
 .../talk/chat/richObjectStringProcessor.dart  |  2 +-
 lib/api/marianumcloud/talk/room/getRoom.dart  |  4 ++--
 .../marianumcloud/talk/room/getRoomCache.dart |  6 ++---
 .../talk/room/getRoomResponse.dart            |  2 +-
 .../talk/sendMessage/sendMessage.dart         |  6 ++---
 .../talk/sendMessage/sendMessageParams.dart   |  3 ++-
 .../talk/sendMessage/sendMessageResponse.dart |  2 +-
 lib/api/marianumcloud/talk/talkApi.dart       |  4 ++--
 .../queries/downloadFile/downloadFile.dart    |  7 +++---
 .../downloadFile/downloadFileParams.dart      |  3 ++-
 .../webdav/queries/listFiles/listFiles.dart   |  9 ++++----
 .../queries/listFiles/listFilesCache.dart     |  9 ++++----
 .../queries/listFiles/listFilesResponse.dart  |  2 +-
 lib/api/marianumcloud/webdav/webdavApi.dart   |  2 +-
 .../mhsl/message/getMessages/getMessages.dart |  5 +++--
 .../message/getMessages/getMessagesCache.dart |  5 ++---
 .../getMessages/getMessagesResponse.dart      |  3 ++-
 lib/api/requestCache.dart                     |  3 ++-
 .../queries/authenticate/authenticate.dart    |  2 +-
 .../authenticate/authenticateParams.dart      |  3 ++-
 .../authenticate/authenticateResponse.dart    |  3 ++-
 .../queries/getHolidays/getHolidays.dart      |  3 +--
 .../queries/getHolidays/getHolidaysCache.dart |  6 ++---
 .../getHolidays/getHolidaysResponse.dart      |  3 ++-
 .../webuntis/queries/getRooms/getRooms.dart   |  3 +--
 .../queries/getRooms/getRoomsCache.dart       |  5 ++---
 .../queries/getRooms/getRoomsResponse.dart    |  3 ++-
 .../queries/getSubjects/getSubjects.dart      |  3 +--
 .../queries/getSubjects/getSubjectsCache.dart |  5 ++---
 .../getSubjects/getSubjectsResponse.dart      |  3 ++-
 .../queries/getTimetable/getTimetable.dart    |  3 +--
 .../getTimetable/getTimetableCache.dart       |  3 +--
 .../getTimetable/getTimetableParams.dart      |  3 ++-
 .../getTimetable/getTimetableResponse.dart    |  3 ++-
 lib/api/webuntis/webuntisApi.dart             |  6 ++---
 lib/app.dart                                  | 14 ++++++------
 lib/main.dart                                 | 22 +++++++++----------
 lib/{data => model}/accountModel.dart         |  0
 lib/{data => model}/appTheme.dart             |  0
 .../chatList/chatListProps.dart               |  7 +++---
 lib/{data => model}/chatList/chatProps.dart   |  8 +++----
 lib/{data => model}/dataHolder.dart           |  0
 lib/{data => model}/files/filesProps.dart     |  8 +++----
 lib/{data => model}/message/messageProps.dart |  7 +++---
 .../timetable/timetableProps.dart             | 17 +++++++-------
 lib/{screen => view}/login/login.dart         |  6 ++---
 .../pages/files/fileElement.dart              |  9 ++++----
 .../pages/files/fileUploadDialog.dart         |  0
 lib/{screen => view}/pages/files/files.dart   |  6 ++---
 .../pages/more/countdown/addTimerDialog.dart  | 12 +++++-----
 .../pages/more/countdown/animatedTime.dart    |  2 +-
 .../pages/more/countdown/countdown.dart       | 10 ++++-----
 .../pages/more/countdown/timer.dart           |  5 +++--
 .../more/gradeAverages/gradeAverage.dart      |  0
 .../pages/more/message/message.dart           |  7 +++---
 .../pages/more/message/messageView.dart       |  3 ++-
 lib/{screen => view}/pages/more/overhang.dart |  8 +++----
 .../pages/more/roomplan/roomplan.dart         |  0
 .../pages/talk/chatBubble.dart                |  3 +--
 lib/{screen => view}/pages/talk/chatList.dart |  8 +++----
 .../pages/talk/chatMessage.dart               |  2 +-
 .../pages/talk/chatTextfield.dart             |  8 +++----
 lib/{screen => view}/pages/talk/chatView.dart | 13 ++++++-----
 .../pages/timetable/CrossPainter.dart         |  3 +--
 .../timetable/appointmenetComponent.dart      |  6 ++---
 .../pages/timetable/appointmentDetails.dart   |  5 ++---
 .../pages/timetable/timeRegionComponent.dart  |  1 -
 .../pages/timetable/timetable.dart            | 12 +++++-----
 .../pages/timetable/timetableEvents.dart      |  0
 .../settings/about/about.dart                 |  0
 .../settings/debug/debugOverview.dart         |  3 ++-
 .../settings/debug/jsonViewer.dart            |  8 +++----
 lib/{screen => view}/settings/settings.dart   |  6 ++---
 lib/widget/unimplementedDialog.dart           |  1 -
 79 files changed, 204 insertions(+), 193 deletions(-)
 rename lib/{data => model}/accountModel.dart (100%)
 rename lib/{data => model}/appTheme.dart (100%)
 rename lib/{data => model}/chatList/chatListProps.dart (67%)
 rename lib/{data => model}/chatList/chatProps.dart (67%)
 rename lib/{data => model}/dataHolder.dart (100%)
 rename lib/{data => model}/files/filesProps.dart (78%)
 rename lib/{data => model}/message/messageProps.dart (68%)
 rename lib/{data => model}/timetable/timetableProps.dart (82%)
 rename lib/{screen => view}/login/login.dart (95%)
 rename lib/{screen => view}/pages/files/fileElement.dart (94%)
 rename lib/{screen => view}/pages/files/fileUploadDialog.dart (100%)
 rename lib/{screen => view}/pages/files/files.dart (97%)
 rename lib/{screen => view}/pages/more/countdown/addTimerDialog.dart (85%)
 rename lib/{screen => view}/pages/more/countdown/animatedTime.dart (96%)
 rename lib/{screen => view}/pages/more/countdown/countdown.dart (83%)
 rename lib/{screen => view}/pages/more/countdown/timer.dart (92%)
 rename lib/{screen => view}/pages/more/gradeAverages/gradeAverage.dart (100%)
 rename lib/{screen => view}/pages/more/message/message.dart (90%)
 rename lib/{screen => view}/pages/more/message/messageView.dart (95%)
 rename lib/{screen => view}/pages/more/overhang.dart (80%)
 rename lib/{screen => view}/pages/more/roomplan/roomplan.dart (100%)
 rename lib/{screen => view}/pages/talk/chatBubble.dart (98%)
 rename lib/{screen => view}/pages/talk/chatList.dart (92%)
 rename lib/{screen => view}/pages/talk/chatMessage.dart (95%)
 rename lib/{screen => view}/pages/talk/chatTextfield.dart (96%)
 rename lib/{screen => view}/pages/talk/chatView.dart (89%)
 rename lib/{screen => view}/pages/timetable/CrossPainter.dart (76%)
 rename lib/{screen => view}/pages/timetable/appointmenetComponent.dart (95%)
 rename lib/{screen => view}/pages/timetable/appointmentDetails.dart (94%)
 rename lib/{screen => view}/pages/timetable/timeRegionComponent.dart (97%)
 rename lib/{screen => view}/pages/timetable/timetable.dart (94%)
 rename lib/{screen => view}/pages/timetable/timetableEvents.dart (100%)
 rename lib/{screen => view}/settings/about/about.dart (100%)
 rename lib/{screen => view}/settings/debug/debugOverview.dart (98%)
 rename lib/{screen => view}/settings/debug/jsonViewer.dart (89%)
 rename lib/{screen => view}/settings/settings.dart (97%)

diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 97476de..ea10ad6 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -744,6 +744,13 @@
             </list>
           </value>
         </entry>
+        <entry key="photo_view">
+          <value>
+            <list>
+              <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" />
+            </list>
+          </value>
+        </entry>
         <entry key="platform">
           <value>
             <list>
@@ -1304,6 +1311,7 @@
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/pedantic-1.11.1/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/persistent_bottom_nav_bar-5.0.2/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib" />
+      <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/platform-3.1.0/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib" />
diff --git a/lib/api/marianumcloud/talk/chat/getChat.dart b/lib/api/marianumcloud/talk/chat/getChat.dart
index 5c23004..314c108 100644
--- a/lib/api/marianumcloud/talk/chat/getChat.dart
+++ b/lib/api/marianumcloud/talk/chat/getChat.dart
@@ -1,11 +1,11 @@
 import 'dart:convert';
 
 import 'package:http/http.dart' as http;
-import 'package:http/src/response.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
+import 'package:http/http.dart';
 
+import '../talkApi.dart';
 import 'getChatParams.dart';
+import 'getChatResponse.dart';
 
 class GetChat extends TalkApi<GetChatResponse> {
   String chatToken;
diff --git a/lib/api/marianumcloud/talk/chat/getChatCache.dart b/lib/api/marianumcloud/talk/chat/getChatCache.dart
index cdf65d2..421726e 100644
--- a/lib/api/marianumcloud/talk/chat/getChatCache.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatCache.dart
@@ -1,9 +1,9 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChat.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
+import '../../../requestCache.dart';
+import 'getChat.dart';
+import 'getChatParams.dart';
+import 'getChatResponse.dart';
 
 class GetChatCache extends RequestCache<GetChatResponse> {
   String chatToken;
diff --git a/lib/api/marianumcloud/talk/chat/getChatParams.dart b/lib/api/marianumcloud/talk/chat/getChatParams.dart
index 5644e18..02ea362 100644
--- a/lib/api/marianumcloud/talk/chat/getChatParams.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatParams.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
 
 part 'getChatParams.g.dart';
 
diff --git a/lib/api/marianumcloud/talk/chat/getChatResponse.dart b/lib/api/marianumcloud/talk/chat/getChatResponse.dart
index 4564d0a..7bbe2ba 100644
--- a/lib/api/marianumcloud/talk/chat/getChatResponse.dart
+++ b/lib/api/marianumcloud/talk/chat/getChatResponse.dart
@@ -1,6 +1,7 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
+
+import '../../../apiResponse.dart';
+import '../room/getRoomResponse.dart';
 
 part 'getChatResponse.g.dart';
 
diff --git a/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart b/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
index 0ae3834..a1fea08 100644
--- a/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
+++ b/lib/api/marianumcloud/talk/chat/richObjectStringProcessor.dart
@@ -1,5 +1,5 @@
 
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
+import 'getChatResponse.dart';
 
 class RichObjectStringProcessor {
   static String parseToString(String message, Map<String, RichObjectString>? data) {
diff --git a/lib/api/marianumcloud/talk/room/getRoom.dart b/lib/api/marianumcloud/talk/room/getRoom.dart
index 115567b..1de236f 100644
--- a/lib/api/marianumcloud/talk/room/getRoom.dart
+++ b/lib/api/marianumcloud/talk/room/getRoom.dart
@@ -1,10 +1,10 @@
 import 'dart:convert';
 
 import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
 
+import '../talkApi.dart';
 import 'getRoomParams.dart';
+import 'getRoomResponse.dart';
 
 
 class GetRoom extends TalkApi<GetRoomResponse> {
diff --git a/lib/api/marianumcloud/talk/room/getRoomCache.dart b/lib/api/marianumcloud/talk/room/getRoomCache.dart
index 03b1419..7f80abb 100644
--- a/lib/api/marianumcloud/talk/room/getRoomCache.dart
+++ b/lib/api/marianumcloud/talk/room/getRoomCache.dart
@@ -1,10 +1,10 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
 
+import '../../../requestCache.dart';
 import 'getRoom.dart';
+import 'getRoomParams.dart';
+import 'getRoomResponse.dart';
 
 class GetRoomCache extends RequestCache<GetRoomResponse> {
   GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
diff --git a/lib/api/marianumcloud/talk/room/getRoomResponse.dart b/lib/api/marianumcloud/talk/room/getRoomResponse.dart
index dfcb4bb..7a03bdc 100644
--- a/lib/api/marianumcloud/talk/room/getRoomResponse.dart
+++ b/lib/api/marianumcloud/talk/room/getRoomResponse.dart
@@ -1,6 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
 
+import '../../../apiResponse.dart';
 import '../chat/getChatResponse.dart';
 
 part 'getRoomResponse.g.dart';
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
index f692779..825ad1a 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessage.dart
@@ -1,9 +1,9 @@
 import 'package:http/http.dart' as http;
-import 'package:http/src/response.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/talkApi.dart';
+import 'package:http/http.dart';
 
 import '../../../apiParams.dart';
+import '../talkApi.dart';
+import 'sendMessageParams.dart';
 
 class SendMessage extends TalkApi {
   String chatToken;
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
index a4c7e51..9cbeff6 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessageParams.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
 
 part 'sendMessageParams.g.dart';
 
diff --git a/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart b/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
index 384e95d..52fe5c4 100644
--- a/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
+++ b/lib/api/marianumcloud/talk/sendMessage/sendMessageResponse.dart
@@ -1,4 +1,4 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
+import '../../../apiResponse.dart';
 
 class SendMessageResponse extends ApiResponse {
 
diff --git a/lib/api/marianumcloud/talk/talkApi.dart b/lib/api/marianumcloud/talk/talkApi.dart
index 6e86b04..ce37004 100644
--- a/lib/api/marianumcloud/talk/talkApi.dart
+++ b/lib/api/marianumcloud/talk/talkApi.dart
@@ -1,9 +1,9 @@
 import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/apiError.dart';
-import 'package:marianum_mobile/api/apiRequest.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
+import '../../apiError.dart';
 import '../../apiParams.dart';
+import '../../apiRequest.dart';
 
 enum TalkApiMethod {
   get,
diff --git a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
index 01f54b5..3bfd5ba 100644
--- a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
+++ b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFile.dart
@@ -1,7 +1,8 @@
 
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
+
+import '../../../../apiResponse.dart';
+import '../../webdavApi.dart';
+import 'downloadFileParams.dart';
 
 class DownloadFile extends WebdavApi<DownloadFileParams> {
   DownloadFileParams params;
diff --git a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
index 2f2c569..48317d3 100644
--- a/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
+++ b/lib/api/marianumcloud/webdav/queries/downloadFile/downloadFileParams.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../../apiParams.dart';
 
 part 'downloadFileParams.g.dart';
 
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
index 50618ab..df71a76 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
@@ -1,10 +1,11 @@
 
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/webdavApi.dart';
 import 'package:nextcloud/nextcloud.dart';
 
+import '../../webdavApi.dart';
+import 'cacheableFile.dart';
+import 'listFilesParams.dart';
+import 'listFilesResponse.dart';
+
 class ListFiles extends WebdavApi<ListFilesParams> {
   ListFilesParams params;
 
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
index aa9e25d..b076392 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart
@@ -1,9 +1,10 @@
 import 'dart:convert';
 import 'package:crypto/crypto.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFiles.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesParams.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
+
+import '../../../../requestCache.dart';
+import 'listFiles.dart';
+import 'listFilesParams.dart';
+import 'listFilesResponse.dart';
 
 class ListFilesCache extends RequestCache<ListFilesResponse> {
   String path;
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
index 80bab99..6a2ea37 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart
@@ -1,6 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
 
+import '../../../../apiResponse.dart';
 import 'cacheableFile.dart';
 
 part 'listFilesResponse.g.dart';
diff --git a/lib/api/marianumcloud/webdav/webdavApi.dart b/lib/api/marianumcloud/webdav/webdavApi.dart
index b003370..67c5723 100644
--- a/lib/api/marianumcloud/webdav/webdavApi.dart
+++ b/lib/api/marianumcloud/webdav/webdavApi.dart
@@ -1,7 +1,7 @@
-import 'package:marianum_mobile/api/apiRequest.dart';
 import 'package:nextcloud/nextcloud.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
+import '../../apiRequest.dart';
 import '../../apiResponse.dart';
 
 abstract class WebdavApi<T> extends ApiRequest {
diff --git a/lib/api/mhsl/message/getMessages/getMessages.dart b/lib/api/mhsl/message/getMessages/getMessages.dart
index db5a813..99338ff 100644
--- a/lib/api/mhsl/message/getMessages/getMessages.dart
+++ b/lib/api/mhsl/message/getMessages/getMessages.dart
@@ -1,8 +1,9 @@
 import 'dart:convert';
 
 import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/api/mhsl/message/messageApi.dart';
+
+import '../messageApi.dart';
+import 'getMessagesResponse.dart';
 
 class GetMessages extends MessageApi<GetMessagesResponse> {
 
diff --git a/lib/api/mhsl/message/getMessages/getMessagesCache.dart b/lib/api/mhsl/message/getMessages/getMessagesCache.dart
index d009e9f..081f737 100644
--- a/lib/api/mhsl/message/getMessages/getMessagesCache.dart
+++ b/lib/api/mhsl/message/getMessages/getMessagesCache.dart
@@ -1,9 +1,8 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/api/requestCache.dart';
-
+import '../../../requestCache.dart';
 import 'getMessages.dart';
+import 'getMessagesResponse.dart';
 
 class GetMessagesCache extends RequestCache<GetMessagesResponse> {
   GetMessagesCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
diff --git a/lib/api/mhsl/message/getMessages/getMessagesResponse.dart b/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
index 314928a..107c492 100644
--- a/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
+++ b/lib/api/mhsl/message/getMessages/getMessagesResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'getMessagesResponse.g.dart';
 
diff --git a/lib/api/requestCache.dart b/lib/api/requestCache.dart
index a5152d2..b07ce40 100644
--- a/lib/api/requestCache.dart
+++ b/lib/api/requestCache.dart
@@ -1,7 +1,8 @@
 import 'dart:convert';
 
 import 'package:localstore/localstore.dart';
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
+
+import 'webuntis/webuntisError.dart';
 
 abstract class RequestCache<T> {
   static const int cacheNothing = 0;
diff --git a/lib/api/webuntis/queries/authenticate/authenticate.dart b/lib/api/webuntis/queries/authenticate/authenticate.dart
index 514717a..cdd5f2c 100644
--- a/lib/api/webuntis/queries/authenticate/authenticate.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticate.dart
@@ -2,9 +2,9 @@ import 'dart:async';
 import 'dart:convert';
 import 'dart:developer';
 
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
+import '../../webuntisApi.dart';
 import 'authenticateParams.dart';
 import 'authenticateResponse.dart';
 
diff --git a/lib/api/webuntis/queries/authenticate/authenticateParams.dart b/lib/api/webuntis/queries/authenticate/authenticateParams.dart
index cab8111..5e6fb48 100644
--- a/lib/api/webuntis/queries/authenticate/authenticateParams.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticateParams.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
 
 part 'authenticateParams.g.dart';
 
diff --git a/lib/api/webuntis/queries/authenticate/authenticateResponse.dart b/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
index d0b7d56..f76ddad 100644
--- a/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
+++ b/lib/api/webuntis/queries/authenticate/authenticateResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'authenticateResponse.g.dart';
 
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidays.dart b/lib/api/webuntis/queries/getHolidays/getHolidays.dart
index a953c24..3c280f8 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidays.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidays.dart
@@ -1,7 +1,6 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
 import 'getHolidaysResponse.dart';
 
 class GetHolidays extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
index 2accf6b..e205749 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart
@@ -1,8 +1,8 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidays.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
+import '../../../requestCache.dart';
+import 'getHolidays.dart';
+import 'getHolidaysResponse.dart';
 
 class GetHolidaysCache extends RequestCache<GetHolidaysResponse> {
   GetHolidaysCache({onUpdate}) : super(RequestCache.cacheDay, onUpdate) {
diff --git a/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart b/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
index 46790ec..7e93fab 100644
--- a/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
+++ b/lib/api/webuntis/queries/getHolidays/getHolidaysResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'getHolidaysResponse.g.dart';
 
diff --git a/lib/api/webuntis/queries/getRooms/getRooms.dart b/lib/api/webuntis/queries/getRooms/getRooms.dart
index 0118d18..4b56f24 100644
--- a/lib/api/webuntis/queries/getRooms/getRooms.dart
+++ b/lib/api/webuntis/queries/getRooms/getRooms.dart
@@ -1,7 +1,6 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
 import 'getRoomsResponse.dart';
 
 class GetRooms extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
index 6c0687e..4e71266 100644
--- a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
+++ b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart
@@ -1,9 +1,8 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
-
+import '../../../requestCache.dart';
 import 'getRooms.dart';
+import 'getRoomsResponse.dart';
 
 class GetRoomsCache extends RequestCache<GetRoomsResponse> {
   GetRoomsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
diff --git a/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart b/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
index 9c96cd0..91db146 100644
--- a/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
+++ b/lib/api/webuntis/queries/getRooms/getRoomsResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'getRoomsResponse.g.dart';
 
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjects.dart b/lib/api/webuntis/queries/getSubjects/getSubjects.dart
index f135ad7..eb965b5 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjects.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjects.dart
@@ -1,7 +1,6 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
 import 'getSubjectsResponse.dart';
 
 class GetSubjects extends WebuntisApi {
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
index 3c2d9d6..b07d1fd 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart
@@ -1,9 +1,8 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/requestCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-
+import '../../../requestCache.dart';
 import 'getSubjects.dart';
+import 'getSubjectsResponse.dart';
 
 class GetSubjectsCache extends RequestCache<GetSubjectsResponse> {
   GetSubjectsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) {
diff --git a/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart b/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
index 4fd6aad..2db8261 100644
--- a/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
+++ b/lib/api/webuntis/queries/getSubjects/getSubjectsResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'getSubjectsResponse.g.dart';
 
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetable.dart b/lib/api/webuntis/queries/getTimetable/getTimetable.dart
index 84da93e..37eab80 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetable.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetable.dart
@@ -1,7 +1,6 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/webuntis/webuntisApi.dart';
-
+import '../../webuntisApi.dart';
 import 'getTimetableParams.dart';
 import 'getTimetableResponse.dart';
 
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
index 72cd106..f44b768 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart
@@ -1,7 +1,6 @@
 import 'dart:convert';
 
-import 'package:marianum_mobile/api/requestCache.dart';
-
+import '../../../requestCache.dart';
 import '../authenticate/authenticate.dart';
 import 'getTimetable.dart';
 import 'getTimetableParams.dart';
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart b/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
index efb3726..25dc3ed 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableParams.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiParams.dart';
+
+import '../../../apiParams.dart';
 
 part 'getTimetableParams.g.dart';
 
diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart b/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
index b32c1b9..d3f438c 100644
--- a/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
+++ b/lib/api/webuntis/queries/getTimetable/getTimetableResponse.dart
@@ -1,5 +1,6 @@
 import 'package:json_annotation/json_annotation.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
+
+import '../../../apiResponse.dart';
 
 part 'getTimetableResponse.g.dart';
 
diff --git a/lib/api/webuntis/webuntisApi.dart b/lib/api/webuntis/webuntisApi.dart
index 731beb0..dbfb226 100644
--- a/lib/api/webuntis/webuntisApi.dart
+++ b/lib/api/webuntis/webuntisApi.dart
@@ -1,11 +1,11 @@
 import 'dart:convert';
-import 'package:marianum_mobile/api/apiRequest.dart';
 import 'package:http/http.dart' as http;
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
 
 import '../apiParams.dart';
+import '../apiRequest.dart';
+import '../apiResponse.dart';
 import 'queries/authenticate/authenticate.dart';
+import 'webuntisError.dart';
 
 abstract class WebuntisApi extends ApiRequest {
   Uri endpoint = Uri.parse("https://peleus.webuntis.com/WebUntis/jsonrpc.do?school=marianum-fulda");
diff --git a/lib/app.dart b/lib/app.dart
index 6ba169f..1ec154e 100644
--- a/lib/app.dart
+++ b/lib/app.dart
@@ -2,16 +2,16 @@
 import 'dart:async';
 
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/data/chatList/chatListProps.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timetable.dart';
 import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 import 'package:provider/provider.dart';
-import 'screen/pages/files/files.dart';
-import 'screen/pages/more/overhang.dart';
-import 'screen/pages/talk/chatList.dart';
-
 import 'package:badges/badges.dart' as badges;
 
+import 'model/chatList/chatListProps.dart';
+import 'view/pages/files/files.dart';
+import 'view/pages/more/overhang.dart';
+import 'view/pages/talk/chatList.dart';
+import 'view/pages/timetable/timetable.dart';
+
 class App extends StatefulWidget {
   const App({Key? key}) : super(key: key);
 
@@ -74,7 +74,7 @@ class _AppState extends State<App> {
                 position: badges.BadgePosition.topEnd(top: -3, end: -3),
                 stackFit: StackFit.loose,
                 badgeStyle: badges.BadgeStyle(
-                  padding: EdgeInsets.all(3),
+                  padding: const EdgeInsets.all(3),
                   badgeColor: Theme.of(context).primaryColor,
                   elevation: 1,
                 ),
diff --git a/lib/main.dart b/lib/main.dart
index 5e7419f..917e826 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,22 +3,22 @@ import 'dart:io';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
-import 'package:marianum_mobile/data/timetable/timetableProps.dart';
-import 'package:marianum_mobile/screen/login/login.dart';
-import 'package:marianum_mobile/theming/darkAppTheme.dart';
-import 'package:marianum_mobile/theming/lightAppTheme.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
 import 'package:provider/provider.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 import 'package:flutter_localizations/flutter_localizations.dart';
 
 import 'app.dart';
-import 'data/chatList/chatListProps.dart';
-import 'data/chatList/chatProps.dart';
-import 'data/accountModel.dart';
-import 'data/files/filesProps.dart';
-import 'data/message/messageProps.dart';
+import 'model/accountModel.dart';
+import 'model/appTheme.dart';
+import 'model/chatList/chatListProps.dart';
+import 'model/chatList/chatProps.dart';
+import 'model/files/filesProps.dart';
+import 'model/message/messageProps.dart';
+import 'model/timetable/timetableProps.dart';
+import 'theming/darkAppTheme.dart';
+import 'theming/lightAppTheme.dart';
+import 'view/login/login.dart';
+import 'widget/errorView.dart';
 
 Future<void> main() async {
   WidgetsFlutterBinding.ensureInitialized();
diff --git a/lib/data/accountModel.dart b/lib/model/accountModel.dart
similarity index 100%
rename from lib/data/accountModel.dart
rename to lib/model/accountModel.dart
diff --git a/lib/data/appTheme.dart b/lib/model/appTheme.dart
similarity index 100%
rename from lib/data/appTheme.dart
rename to lib/model/appTheme.dart
diff --git a/lib/data/chatList/chatListProps.dart b/lib/model/chatList/chatListProps.dart
similarity index 67%
rename from lib/data/chatList/chatListProps.dart
rename to lib/model/chatList/chatListProps.dart
index 654d144..876d235 100644
--- a/lib/data/chatList/chatListProps.dart
+++ b/lib/model/chatList/chatListProps.dart
@@ -1,9 +1,8 @@
 
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
-
 import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/talk/room/getRoomCache.dart';
+import '../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../dataHolder.dart';
 
 class ChatListProps extends DataHolder {
   GetRoomResponse? _getRoomResponse;
diff --git a/lib/data/chatList/chatProps.dart b/lib/model/chatList/chatProps.dart
similarity index 67%
rename from lib/data/chatList/chatProps.dart
rename to lib/model/chatList/chatProps.dart
index 8a8f8c9..cdc4073 100644
--- a/lib/data/chatList/chatProps.dart
+++ b/lib/model/chatList/chatProps.dart
@@ -1,7 +1,7 @@
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
+import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/talk/chat/getChatCache.dart';
+import '../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../dataHolder.dart';
 
 class ChatProps extends DataHolder {
   String _queryToken = "";
diff --git a/lib/data/dataHolder.dart b/lib/model/dataHolder.dart
similarity index 100%
rename from lib/data/dataHolder.dart
rename to lib/model/dataHolder.dart
diff --git a/lib/data/files/filesProps.dart b/lib/model/files/filesProps.dart
similarity index 78%
rename from lib/data/files/filesProps.dart
rename to lib/model/files/filesProps.dart
index 9046a96..4c94874 100644
--- a/lib/data/files/filesProps.dart
+++ b/lib/model/files/filesProps.dart
@@ -1,8 +1,8 @@
 
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
+import '../../api/apiResponse.dart';
+import '../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
+import '../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
+import '../dataHolder.dart';
 
 extension ExtendedList on List {
   T indexOrNull<T>(int index) =>  index +1 <= length ? this[index] : null;
diff --git a/lib/data/message/messageProps.dart b/lib/model/message/messageProps.dart
similarity index 68%
rename from lib/data/message/messageProps.dart
rename to lib/model/message/messageProps.dart
index 2776e31..80644b8 100644
--- a/lib/data/message/messageProps.dart
+++ b/lib/model/message/messageProps.dart
@@ -1,9 +1,8 @@
 
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesCache.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
-
 import '../../api/apiResponse.dart';
+import '../../api/mhsl/message/getMessages/getMessagesCache.dart';
+import '../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+import '../dataHolder.dart';
 
 class MessageProps extends DataHolder {
   GetMessagesResponse? _getMessagesResponse;
diff --git a/lib/data/timetable/timetableProps.dart b/lib/model/timetable/timetableProps.dart
similarity index 82%
rename from lib/data/timetable/timetableProps.dart
rename to lib/model/timetable/timetableProps.dart
index 3704c98..1e38930 100644
--- a/lib/data/timetable/timetableProps.dart
+++ b/lib/model/timetable/timetableProps.dart
@@ -1,17 +1,16 @@
-
 import 'package:intl/intl.dart';
-import 'package:marianum_mobile/api/apiResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsCache.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-import 'package:marianum_mobile/data/dataHolder.dart';
 
+import '../../api/apiResponse.dart';
+import '../../api/webuntis/queries/getHolidays/getHolidaysCache.dart';
+import '../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
+import '../../api/webuntis/queries/getRooms/getRoomsCache.dart';
+import '../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
+import '../../api/webuntis/queries/getSubjects/getSubjectsCache.dart';
+import '../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
 import '../../api/webuntis/queries/getTimetable/getTimetableCache.dart';
 import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
 import '../../api/webuntis/webuntisError.dart';
+import '../dataHolder.dart';
 
 extension DateTimeExtension on DateTime {
   DateTime jumpToNextWeekDay(int day) {
diff --git a/lib/screen/login/login.dart b/lib/view/login/login.dart
similarity index 95%
rename from lib/screen/login/login.dart
rename to lib/view/login/login.dart
index f2d0a59..67a3bd4 100644
--- a/lib/screen/login/login.dart
+++ b/lib/view/login/login.dart
@@ -3,14 +3,14 @@ import 'dart:developer';
 
 import 'package:flutter/material.dart';
 import 'package:flutter_login/flutter_login.dart';
-import 'package:marianum_mobile/api/apiError.dart';
-import 'package:marianum_mobile/api/webuntis/webuntisError.dart';
 import 'package:provider/provider.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
+import '../../api/apiError.dart';
 import '../../api/webuntis/queries/authenticate/authenticateParams.dart';
 import '../../api/webuntis/queries/authenticate/authenticate.dart';
-import '../../data/accountModel.dart';
+import '../../api/webuntis/webuntisError.dart';
+import '../../model/accountModel.dart';
 
 class Login extends StatefulWidget {
   const Login({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/files/fileElement.dart b/lib/view/pages/files/fileElement.dart
similarity index 94%
rename from lib/screen/pages/files/fileElement.dart
rename to lib/view/pages/files/fileElement.dart
index da56e59..a67725e 100644
--- a/lib/screen/pages/files/fileElement.dart
+++ b/lib/view/pages/files/fileElement.dart
@@ -4,16 +4,15 @@ import 'dart:io';
 import 'package:better_open_file/better_open_file.dart';
 import 'package:filesize/filesize.dart';
 import 'package:flowder/flowder.dart';
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/screen/pages/files/files.dart';
-import 'package:marianum_mobile/widget/confirmDialog.dart';
-import 'package:marianum_mobile/widget/unimplementedDialog.dart';
 import 'package:path_provider/path_provider.dart';
 
+import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 import '../../../api/marianumcloud/webdav/webdavApi.dart';
+import '../../../widget/confirmDialog.dart';
+import '../../../widget/unimplementedDialog.dart';
+import 'files.dart';
 
 class FileElement extends StatefulWidget {
   final CacheableFile file;
diff --git a/lib/screen/pages/files/fileUploadDialog.dart b/lib/view/pages/files/fileUploadDialog.dart
similarity index 100%
rename from lib/screen/pages/files/fileUploadDialog.dart
rename to lib/view/pages/files/fileUploadDialog.dart
diff --git a/lib/screen/pages/files/files.dart b/lib/view/pages/files/files.dart
similarity index 97%
rename from lib/screen/pages/files/files.dart
rename to lib/view/pages/files/files.dart
index 8b858d8..fbe445e 100644
--- a/lib/screen/pages/files/files.dart
+++ b/lib/view/pages/files/files.dart
@@ -4,13 +4,13 @@ import 'dart:io';
 
 import 'package:flutter/material.dart';
 import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
 
+import '../../../api/marianumcloud/webdav/queries/listFiles/cacheableFile.dart';
 import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart';
 import '../../../api/marianumcloud/webdav/queries/listFiles/listFilesResponse.dart';
 import '../../../api/marianumcloud/webdav/webdavApi.dart';
-import '../../../data/files/filesProps.dart';
+import '../../../model/files/filesProps.dart';
+import '../../../widget/errorView.dart';
 import '../../../widget/filePick.dart';
 import 'fileUploadDialog.dart';
 import 'fileElement.dart';
diff --git a/lib/screen/pages/more/countdown/addTimerDialog.dart b/lib/view/pages/more/countdown/addTimerDialog.dart
similarity index 85%
rename from lib/screen/pages/more/countdown/addTimerDialog.dart
rename to lib/view/pages/more/countdown/addTimerDialog.dart
index 8db64cb..15a4dc3 100644
--- a/lib/screen/pages/more/countdown/addTimerDialog.dart
+++ b/lib/view/pages/more/countdown/addTimerDialog.dart
@@ -14,11 +14,11 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
   @override
   Widget build(BuildContext context) {
     return AlertDialog(
-      title: Text("Timer hinzufügen"),
+      title: const Text("Timer hinzufügen"),
       content: Column(
         mainAxisSize: MainAxisSize.min,
         children: [
-          TextField(
+          const TextField(
             decoration: InputDecoration(
               labelText: "Timer Name"
             ),
@@ -32,7 +32,7 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
               selected = selectedDate;
             });
 
-          }, child: Text("Datum auswählen")),
+          }, child: const Text("Datum auswählen")),
 
           TextButton(onPressed: () async {
             TimeOfDay? selectedTime = await showTimePicker(context: context, initialTime: TimeOfDay.fromDateTime(DateTime.now()));
@@ -41,7 +41,7 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
             setState(() {
               selected = selected.copyWith(hour: selectedTime.hour, minute: selectedTime.minute);
             });
-          }, child: Text("Zeit auswählen")),
+          }, child: const Text("Zeit auswählen")),
 
           Text(selected.toString())
         ],
@@ -49,10 +49,10 @@ class _AddTimerDialogState extends State<AddTimerDialog> {
       actions: [
         TextButton(onPressed: () {
           Navigator.of(context).pop();
-        }, child: Text("Abbrechen")),
+        }, child: const Text("Abbrechen")),
         TextButton(onPressed: () {
           // TODO add timer
-        }, child: Text("Hinzufügen")),
+        }, child: const Text("Hinzufügen")),
       ],
     );
   }
diff --git a/lib/screen/pages/more/countdown/animatedTime.dart b/lib/view/pages/more/countdown/animatedTime.dart
similarity index 96%
rename from lib/screen/pages/more/countdown/animatedTime.dart
rename to lib/view/pages/more/countdown/animatedTime.dart
index 0be7851..045f0d6 100644
--- a/lib/screen/pages/more/countdown/animatedTime.dart
+++ b/lib/view/pages/more/countdown/animatedTime.dart
@@ -46,7 +46,7 @@ class _AnimatedTimeState extends State<AnimatedTime> {
   AnimatedDigitWidget buildWidget(int value) {
     return AnimatedDigitWidget(
       value: value,
-      duration: Duration(milliseconds: 100),
+      duration: const Duration(milliseconds: 100),
       textStyle: const TextStyle(fontSize: 15),
     );
   }
diff --git a/lib/screen/pages/more/countdown/countdown.dart b/lib/view/pages/more/countdown/countdown.dart
similarity index 83%
rename from lib/screen/pages/more/countdown/countdown.dart
rename to lib/view/pages/more/countdown/countdown.dart
index 3565bd0..2351949 100644
--- a/lib/screen/pages/more/countdown/countdown.dart
+++ b/lib/view/pages/more/countdown/countdown.dart
@@ -1,7 +1,7 @@
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/addTimerDialog.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/timer.dart';
+
+import 'addTimerDialog.dart';
+import 'timer.dart';
 
 class Countdown extends StatefulWidget {
   const Countdown({Key? key}) : super(key: key);
@@ -30,14 +30,14 @@ class _CountdownState extends State<Countdown> {
         title: const Text("Countdown"),
         actions: [
           IconButton(onPressed: () {
-            showDialog(context: context, builder: (context) => AddTimerDialog());
+            showDialog(context: context, builder: (context) => const AddTimerDialog());
           }, icon: const Icon(Icons.add)),
         ],
       ),
       body: ReorderableListView(
         shrinkWrap: true,
         footer: Container(
-          padding: EdgeInsets.only(top: 30),
+          padding: const EdgeInsets.only(top: 30),
           child: Center(
             child: Text("Halte und Ziehe ein Element um es umzusortieren.", style: TextStyle(color: Theme.of(context).disabledColor)),
           ),
diff --git a/lib/screen/pages/more/countdown/timer.dart b/lib/view/pages/more/countdown/timer.dart
similarity index 92%
rename from lib/screen/pages/more/countdown/timer.dart
rename to lib/view/pages/more/countdown/timer.dart
index 1239d48..a01f514 100644
--- a/lib/screen/pages/more/countdown/timer.dart
+++ b/lib/view/pages/more/countdown/timer.dart
@@ -1,6 +1,7 @@
 
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/animatedTime.dart';
+
+import 'animatedTime.dart';
 
 class Timer extends StatefulWidget {
   final DateTime target;
@@ -36,7 +37,7 @@ class _TimerState extends State<Timer> {
         children: [
           if(!isLocal) Row(
             children: [
-              Text("5"),
+              const Text("5"),
               IconButton(onPressed: () {
 
               }, icon: const Icon(Icons.thumb_up_outlined)),
diff --git a/lib/screen/pages/more/gradeAverages/gradeAverage.dart b/lib/view/pages/more/gradeAverages/gradeAverage.dart
similarity index 100%
rename from lib/screen/pages/more/gradeAverages/gradeAverage.dart
rename to lib/view/pages/more/gradeAverages/gradeAverage.dart
diff --git a/lib/screen/pages/more/message/message.dart b/lib/view/pages/more/message/message.dart
similarity index 90%
rename from lib/screen/pages/more/message/message.dart
rename to lib/view/pages/more/message/message.dart
index e000ff3..82b5e31 100644
--- a/lib/screen/pages/more/message/message.dart
+++ b/lib/view/pages/more/message/message.dart
@@ -1,10 +1,11 @@
 import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
-import 'package:marianum_mobile/screen/pages/more/message/messageView.dart';
 import 'package:provider/provider.dart';
 
-import '../../../../data/message/messageProps.dart';
+import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+import '../../../../model/message/messageProps.dart';
+import 'messageView.dart';
+
 
 class Message extends StatefulWidget {
   const Message({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/more/message/messageView.dart b/lib/view/pages/more/message/messageView.dart
similarity index 95%
rename from lib/screen/pages/more/message/messageView.dart
rename to lib/view/pages/more/message/messageView.dart
index da42385..e7eb410 100644
--- a/lib/screen/pages/more/message/messageView.dart
+++ b/lib/view/pages/more/message/messageView.dart
@@ -1,8 +1,9 @@
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/mhsl/message/getMessages/getMessagesResponse.dart';
 import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
 import 'package:url_launcher/url_launcher.dart';
 
+import '../../../../api/mhsl/message/getMessages/getMessagesResponse.dart';
+
 class MessageView extends StatefulWidget {
   final String basePath;
   final GetMessagesResponseObject message;
diff --git a/lib/screen/pages/more/overhang.dart b/lib/view/pages/more/overhang.dart
similarity index 80%
rename from lib/screen/pages/more/overhang.dart
rename to lib/view/pages/more/overhang.dart
index c9e7178..af5d7ed 100644
--- a/lib/screen/pages/more/overhang.dart
+++ b/lib/view/pages/more/overhang.dart
@@ -1,14 +1,14 @@
 
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/more/countdown/countdown.dart';
-import 'package:marianum_mobile/screen/pages/more/gradeAverages/gradeAverage.dart';
-import 'package:marianum_mobile/screen/pages/more/roomplan/roomplan.dart';
-import 'package:marianum_mobile/screen/settings/settings.dart';
 import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 
 import '../../../widget/ListItem.dart';
+import '../../settings/settings.dart';
+import 'countdown/countdown.dart';
+import 'gradeAverages/gradeAverage.dart';
 import 'message/message.dart';
+import 'roomplan/roomplan.dart';
 
 class Overhang extends StatelessWidget {
   const Overhang({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/more/roomplan/roomplan.dart b/lib/view/pages/more/roomplan/roomplan.dart
similarity index 100%
rename from lib/screen/pages/more/roomplan/roomplan.dart
rename to lib/view/pages/more/roomplan/roomplan.dart
diff --git a/lib/screen/pages/talk/chatBubble.dart b/lib/view/pages/talk/chatBubble.dart
similarity index 98%
rename from lib/screen/pages/talk/chatBubble.dart
rename to lib/view/pages/talk/chatBubble.dart
index 21ac175..17983f2 100644
--- a/lib/screen/pages/talk/chatBubble.dart
+++ b/lib/view/pages/talk/chatBubble.dart
@@ -1,14 +1,13 @@
 import 'package:better_open_file/better_open_file.dart';
 import 'package:bubble/bubble.dart';
 import 'package:flowder/flowder.dart';
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
 
 import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
 import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/appTheme.dart';
 import '../../settings/debug/jsonViewer.dart';
 import '../files/fileElement.dart';
 import 'chatMessage.dart';
diff --git a/lib/screen/pages/talk/chatList.dart b/lib/view/pages/talk/chatList.dart
similarity index 92%
rename from lib/screen/pages/talk/chatList.dart
rename to lib/view/pages/talk/chatList.dart
index f4751d1..bd50424 100644
--- a/lib/screen/pages/talk/chatList.dart
+++ b/lib/view/pages/talk/chatList.dart
@@ -2,14 +2,14 @@
 import 'dart:async';
 import 'package:flutter/material.dart';
 import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/chatList/chatListProps.dart';
-import 'package:marianum_mobile/widget/unimplementedDialog.dart';
 import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 import 'package:provider/provider.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
+import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
+import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/chatList/chatListProps.dart';
+import '../../../widget/unimplementedDialog.dart';
 import 'chatView.dart';
 
 class ChatList extends StatefulWidget {
diff --git a/lib/screen/pages/talk/chatMessage.dart b/lib/view/pages/talk/chatMessage.dart
similarity index 95%
rename from lib/screen/pages/talk/chatMessage.dart
rename to lib/view/pages/talk/chatMessage.dart
index 1be542a..95fd3a4 100644
--- a/lib/screen/pages/talk/chatMessage.dart
+++ b/lib/view/pages/talk/chatMessage.dart
@@ -3,11 +3,11 @@ import 'dart:convert';
 import 'package:cached_network_image/cached_network_image.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_linkify/flutter_linkify.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 import 'package:url_launcher/url_launcher_string.dart';
 
 import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../../../api/marianumcloud/talk/chat/richObjectStringProcessor.dart';
 
 class ChatMessage {
   String originalMessage;
diff --git a/lib/screen/pages/talk/chatTextfield.dart b/lib/view/pages/talk/chatTextfield.dart
similarity index 96%
rename from lib/screen/pages/talk/chatTextfield.dart
rename to lib/view/pages/talk/chatTextfield.dart
index 29f7d36..5acad82 100644
--- a/lib/screen/pages/talk/chatTextfield.dart
+++ b/lib/view/pages/talk/chatTextfield.dart
@@ -3,16 +3,16 @@ import 'dart:io';
 
 import 'package:flutter/material.dart';
 import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/widget/filePick.dart';
 import 'package:provider/provider.dart';
 
 import '../../../api/marianumcloud/talk/sendMessage/sendMessage.dart';
 import '../../../api/marianumcloud/talk/sendMessage/sendMessageParams.dart';
-import '../../../data/chatList/chatProps.dart';
+import '../../../model/chatList/chatProps.dart';
+import '../../../widget/filePick.dart';
 
 class ChatTextfield extends StatefulWidget {
-  String sendToToken;
-  ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
+  final String sendToToken;
+  const ChatTextfield(this.sendToToken, {Key? key}) : super(key: key);
 
   @override
   State<ChatTextfield> createState() => _ChatTextfieldState();
diff --git a/lib/screen/pages/talk/chatView.dart b/lib/view/pages/talk/chatView.dart
similarity index 89%
rename from lib/screen/pages/talk/chatView.dart
rename to lib/view/pages/talk/chatView.dart
index 67dc063..98bc3a3 100644
--- a/lib/screen/pages/talk/chatView.dart
+++ b/lib/view/pages/talk/chatView.dart
@@ -2,14 +2,15 @@
 import 'package:flutter/material.dart';
 import 'package:jiffy/jiffy.dart';
 import 'package:loader_overlay/loader_overlay.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/chat/getChatResponse.dart';
-import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
-import 'package:marianum_mobile/data/appTheme.dart';
-import 'package:marianum_mobile/data/chatList/chatProps.dart';
-import 'package:marianum_mobile/screen/pages/talk/chatBubble.dart';
-import 'package:marianum_mobile/screen/pages/talk/chatTextfield.dart';
 import 'package:provider/provider.dart';
 
+import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
+import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
+import '../../../model/appTheme.dart';
+import '../../../model/chatList/chatProps.dart';
+import 'chatBubble.dart';
+import 'chatTextfield.dart';
+
 class ChatView extends StatefulWidget {
   final GetRoomResponseObject room;
   final String selfId;
diff --git a/lib/screen/pages/timetable/CrossPainter.dart b/lib/view/pages/timetable/CrossPainter.dart
similarity index 76%
rename from lib/screen/pages/timetable/CrossPainter.dart
rename to lib/view/pages/timetable/CrossPainter.dart
index c4bb084..49c2418 100644
--- a/lib/screen/pages/timetable/CrossPainter.dart
+++ b/lib/view/pages/timetable/CrossPainter.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 
 class CrossPainter extends CustomPainter {
@@ -8,7 +7,7 @@ class CrossPainter extends CustomPainter {
       ..color = Colors.red.withAlpha(200)
       ..strokeWidth = 2.0;
 
-    canvas.drawLine(Offset(0, 0), Offset(size.width, size.height), paint);
+    canvas.drawLine(const Offset(0, 0), Offset(size.width, size.height), paint);
     canvas.drawLine(Offset(size.width, 0), Offset(0, size.height), paint);
   }
 
diff --git a/lib/screen/pages/timetable/appointmenetComponent.dart b/lib/view/pages/timetable/appointmenetComponent.dart
similarity index 95%
rename from lib/screen/pages/timetable/appointmenetComponent.dart
rename to lib/view/pages/timetable/appointmenetComponent.dart
index be22f9f..b61d3f0 100644
--- a/lib/screen/pages/timetable/appointmenetComponent.dart
+++ b/lib/view/pages/timetable/appointmenetComponent.dart
@@ -1,10 +1,10 @@
 
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
-import 'package:marianum_mobile/screen/pages/timetable/CrossPainter.dart';
 import 'package:syncfusion_flutter_calendar/calendar.dart';
 
+import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
+import 'CrossPainter.dart';
+
 class AppointmentComponent extends StatefulWidget {
   final CalendarAppointmentDetails details;
   final bool crossedOut;
diff --git a/lib/screen/pages/timetable/appointmentDetails.dart b/lib/view/pages/timetable/appointmentDetails.dart
similarity index 94%
rename from lib/screen/pages/timetable/appointmentDetails.dart
rename to lib/view/pages/timetable/appointmentDetails.dart
index e5b5831..a16ed88 100644
--- a/lib/screen/pages/timetable/appointmentDetails.dart
+++ b/lib/view/pages/timetable/appointmentDetails.dart
@@ -1,14 +1,13 @@
 
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:jiffy/jiffy.dart';
-import 'package:marianum_mobile/api/webuntis/queries/getTimetable/getTimetableResponse.dart';
-import 'package:marianum_mobile/data/timetable/timetableProps.dart';
 import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
 import 'package:syncfusion_flutter_calendar/calendar.dart';
 
 import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
 import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
+import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
+import '../../../model/timetable/timetableProps.dart';
 import '../../../widget/unimplementedDialog.dart';
 import '../../settings/debug/jsonViewer.dart';
 import '../more/roomplan/roomplan.dart';
diff --git a/lib/screen/pages/timetable/timeRegionComponent.dart b/lib/view/pages/timetable/timeRegionComponent.dart
similarity index 97%
rename from lib/screen/pages/timetable/timeRegionComponent.dart
rename to lib/view/pages/timetable/timeRegionComponent.dart
index cbbd007..bbb2d41 100644
--- a/lib/screen/pages/timetable/timeRegionComponent.dart
+++ b/lib/view/pages/timetable/timeRegionComponent.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:syncfusion_flutter_calendar/calendar.dart';
 
diff --git a/lib/screen/pages/timetable/timetable.dart b/lib/view/pages/timetable/timetable.dart
similarity index 94%
rename from lib/screen/pages/timetable/timetable.dart
rename to lib/view/pages/timetable/timetable.dart
index 0fe7a05..6708894 100644
--- a/lib/screen/pages/timetable/timetable.dart
+++ b/lib/view/pages/timetable/timetable.dart
@@ -1,21 +1,19 @@
 
 import 'dart:developer';
 
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
-import 'package:marianum_mobile/screen/pages/timetable/appointmenetComponent.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timeRegionComponent.dart';
-import 'package:marianum_mobile/screen/pages/timetable/timetableEvents.dart';
-import 'package:marianum_mobile/widget/errorView.dart';
 import 'package:provider/provider.dart';
 import 'package:syncfusion_flutter_calendar/calendar.dart';
 
 import '../../../api/webuntis/queries/getHolidays/getHolidaysResponse.dart';
 import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
 import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
-import '../../../data/timetable/timetableProps.dart';
+import '../../../model/timetable/timetableProps.dart';
+import '../../../widget/errorView.dart';
+import 'appointmenetComponent.dart';
 import 'appointmentDetails.dart';
+import 'timeRegionComponent.dart';
+import 'timetableEvents.dart';
 
 class Timetable extends StatefulWidget {
   const Timetable({Key? key}) : super(key: key);
diff --git a/lib/screen/pages/timetable/timetableEvents.dart b/lib/view/pages/timetable/timetableEvents.dart
similarity index 100%
rename from lib/screen/pages/timetable/timetableEvents.dart
rename to lib/view/pages/timetable/timetableEvents.dart
diff --git a/lib/screen/settings/about/about.dart b/lib/view/settings/about/about.dart
similarity index 100%
rename from lib/screen/settings/about/about.dart
rename to lib/view/settings/about/about.dart
diff --git a/lib/screen/settings/debug/debugOverview.dart b/lib/view/settings/debug/debugOverview.dart
similarity index 98%
rename from lib/screen/settings/debug/debugOverview.dart
rename to lib/view/settings/debug/debugOverview.dart
index 666a87b..c834bb1 100644
--- a/lib/screen/settings/debug/debugOverview.dart
+++ b/lib/view/settings/debug/debugOverview.dart
@@ -5,7 +5,8 @@ import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:jiffy/jiffy.dart';
 import 'package:localstore/localstore.dart';
-import 'package:marianum_mobile/screen/settings/debug/jsonViewer.dart';
+
+import 'jsonViewer.dart';
 
 class DebugOverview extends StatefulWidget {
   const DebugOverview({Key? key}) : super(key: key);
diff --git a/lib/screen/settings/debug/jsonViewer.dart b/lib/view/settings/debug/jsonViewer.dart
similarity index 89%
rename from lib/screen/settings/debug/jsonViewer.dart
rename to lib/view/settings/debug/jsonViewer.dart
index 6b4ad19..1bc562e 100644
--- a/lib/screen/settings/debug/jsonViewer.dart
+++ b/lib/view/settings/debug/jsonViewer.dart
@@ -3,10 +3,10 @@ import 'package:flutter/services.dart';
 import 'package:pretty_json/pretty_json.dart';
 
 class JsonViewer extends StatelessWidget {
-  String title;
-  Map<String, dynamic> data;
+  final String title;
+  final Map<String, dynamic> data;
 
-  JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
+  const JsonViewer({Key? key, required this.title, required this.data}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {
@@ -30,7 +30,7 @@ class JsonViewer extends StatelessWidget {
     showDialog(context: context, builder: (context) {
       return AlertDialog(
         scrollable: true,
-        title: Row(children: const [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
+        title: const Row(children: [Icon(Icons.bug_report_outlined), Text("Rohdaten")]),
         content: Text(JsonViewer.format(dataMap)),
         actions: [
           TextButton(onPressed: () {
diff --git a/lib/screen/settings/settings.dart b/lib/view/settings/settings.dart
similarity index 97%
rename from lib/screen/settings/settings.dart
rename to lib/view/settings/settings.dart
index b15fe5b..ec295a4 100644
--- a/lib/screen/settings/settings.dart
+++ b/lib/view/settings/settings.dart
@@ -5,8 +5,8 @@ import 'package:provider/provider.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 import 'package:url_launcher/url_launcher.dart';
 
-import '../../data/accountModel.dart';
-import '../../data/appTheme.dart';
+import '../../model/accountModel.dart';
+import '../../model/appTheme.dart';
 import 'debug/debugOverview.dart';
 
 class Settings extends StatefulWidget {
@@ -108,7 +108,7 @@ class _SettingsState extends State<Settings> {
             onTap: () async {
               final appInfo = await PackageInfo.fromPlatform();
 
-              if(!context.mounted) return;
+              if(!context.mounted) return; // TODO Fix context used in async
               showAboutDialog(
                 context: context,
                 applicationIcon: const Icon(Icons.apps),
diff --git a/lib/widget/unimplementedDialog.dart b/lib/widget/unimplementedDialog.dart
index 1aa6830..f90e0db 100644
--- a/lib/widget/unimplementedDialog.dart
+++ b/lib/widget/unimplementedDialog.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 
 class UnimplementedDialog {