diff --git a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
index 6f0cf647fd08d5f1dc8d5d0f05dbaca48c89aaa4..b7c8a01f18e8905114c75bb7a9aec07c63ac2471 100644
--- a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
@@ -5,7 +5,6 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.view.WindowManager
 import androidx.fragment.app.viewModels
 import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/preview/TimelineMediaPreviewViewModel.kt b/app/src/main/java/org/futo/circles/feature/timeline/preview/TimelineMediaPreviewViewModel.kt
index 618d5c32a5588e4ac20fe9c60019d2fbe032c095..c0ff2376262aefe06c5f0a7e50293db8e0bbcf1f 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/preview/TimelineMediaPreviewViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/preview/TimelineMediaPreviewViewModel.kt
@@ -8,13 +8,13 @@ import org.futo.circles.core.extensions.getOrThrow
 import org.futo.circles.core.extensions.launchBg
 import org.futo.circles.core.model.ShareableContent
 import org.futo.circles.core.timeline.post.PostOptionsDataSource
-import org.futo.circles.gallery.feature.gallery.full_screen.media_item.FullScreenMediaDataSource
+import org.futo.circles.core.timeline.post.PostContentDataSource
 import javax.inject.Inject
 
 @HiltViewModel
 class TimelineMediaPreviewViewModel @Inject constructor(
     savedStateHandle: SavedStateHandle,
-    private val mediaDataSource: FullScreenMediaDataSource,
+    private val mediaDataSource: PostContentDataSource,
     private val postOptionsDataSource: PostOptionsDataSource
 ) : ViewModel() {
 
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/save/SavePostToGalleryViewModel.kt b/app/src/main/java/org/futo/circles/feature/timeline/save/SavePostToGalleryViewModel.kt
index 62094275a121cd79242505bfb237ff5935a71feb..5cc31671617710717b3bf1cf65afb70831161b47 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/save/SavePostToGalleryViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/save/SavePostToGalleryViewModel.kt
@@ -6,12 +6,12 @@ import org.futo.circles.core.SingleEventLiveData
 import org.futo.circles.core.extensions.Response
 import org.futo.circles.core.extensions.launchBg
 import org.futo.circles.core.model.SelectableRoomListItem
-import org.futo.circles.gallery.feature.gallery.full_screen.media_item.FullScreenMediaDataSource
+import org.futo.circles.core.timeline.post.PostContentDataSource
 import javax.inject.Inject
 
 @HiltViewModel
 class SavePostToGalleryViewModel @Inject constructor(
-    private val mediaPreviewDataSource: FullScreenMediaDataSource,
+    private val mediaPreviewDataSource: PostContentDataSource,
     private val savePostToGalleryDataSource: SavePostToGalleryDataSource
 ) : ViewModel() {
 
diff --git a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaDataSource.kt b/core/src/main/java/org/futo/circles/core/timeline/post/PostContentDataSource.kt
similarity index 77%
rename from gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaDataSource.kt
rename to core/src/main/java/org/futo/circles/core/timeline/post/PostContentDataSource.kt
index 3ae01daef03d64527e72ff6d60c2b536e5d236f8..f25196817e6226e4fa2844ed3f4334bf3aa78f0d 100644
--- a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaDataSource.kt
+++ b/core/src/main/java/org/futo/circles/core/timeline/post/PostContentDataSource.kt
@@ -1,7 +1,8 @@
-package org.futo.circles.gallery.feature.gallery.full_screen.media_item
+package org.futo.circles.core.timeline.post
 
 import dagger.hilt.android.scopes.ViewModelScoped
 import org.futo.circles.core.mapping.toPost
+import org.futo.circles.core.model.Post
 import org.futo.circles.core.model.PostContent
 import org.futo.circles.core.model.PostContentType
 import org.futo.circles.core.provider.MatrixSessionProvider
@@ -14,18 +15,20 @@ import javax.inject.Inject
 
 
 @ViewModelScoped
-class FullScreenMediaDataSource @Inject constructor() {
+class PostContentDataSource @Inject constructor() {
 
     private val session = MatrixSessionProvider.currentSession
 
-    fun getPostContent(roomId: String, eventId: String): PostContent? {
+    fun getPost(roomId: String, eventId: String): Post? {
         val roomForMessage = session?.getRoom(roomId)
         val timelineEvent = roomForMessage?.getTimelineEvent(eventId) ?: return null
-        val post = getPostContentTypeFor(timelineEvent)?.let { timelineEvent.toPost(it) }
-            ?: return null
-        return post.content
+        return getPostContentTypeFor(timelineEvent)?.let { timelineEvent.toPost(it) }
     }
 
+    fun getPostContent(roomId: String, eventId: String): PostContent? =
+        getPost(roomId, eventId)?.content
+
+
     private fun getPostContentTypeFor(event: TimelineEvent): PostContentType? {
         val messageType = event.root.getClearContent()?.toModel<MessageContent>()?.msgType
         return PostContentType.values().firstOrNull { it.typeKey == messageType }
diff --git a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaViewModel.kt b/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaViewModel.kt
index e0ddf2decefa51820010090851db831f16ae6b9a..44b60485017bca1a5522fb46f40a6abb10609230 100644
--- a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaViewModel.kt
+++ b/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/full_screen/media_item/FullScreenMediaViewModel.kt
@@ -10,13 +10,14 @@ import org.futo.circles.core.extensions.getOrThrow
 import org.futo.circles.core.extensions.launchBg
 import org.futo.circles.core.model.MediaContent
 import org.futo.circles.core.model.PostContentType
+import org.futo.circles.core.timeline.post.PostContentDataSource
 import org.futo.circles.core.utils.FileUtils
 import javax.inject.Inject
 
 @HiltViewModel
 class FullScreenMediaViewModel @Inject constructor(
     savedStateHandle: SavedStateHandle,
-    private val fullScreenMediaDataSource: FullScreenMediaDataSource
+    private val postContentDataSource: PostContentDataSource
 ) : ViewModel() {
 
     private val roomId: String = savedStateHandle.getOrThrow("roomId")
@@ -27,7 +28,7 @@ class FullScreenMediaViewModel @Inject constructor(
 
     fun loadData(context: Context) {
         val content =
-            (fullScreenMediaDataSource.getPostContent(roomId, eventId) as? MediaContent) ?: return
+            (postContentDataSource.getPostContent(roomId, eventId) as? MediaContent) ?: return
         when (content.type) {
             PostContentType.IMAGE_CONTENT -> imageLiveData.postValue(content)
             PostContentType.VIDEO_CONTENT -> launchBg {
diff --git a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/grid/GalleryViewModel.kt b/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/grid/GalleryViewModel.kt
index ab3a1797507d58e42d0a5971d400deb0e84da351..d5716bff6520487658a5a8c37ca9f500c81d89db 100644
--- a/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/grid/GalleryViewModel.kt
+++ b/gallery/src/main/java/org/futo/circles/gallery/feature/gallery/grid/GalleryViewModel.kt
@@ -14,7 +14,7 @@ import org.futo.circles.core.timeline.BaseTimelineViewModel
 import org.futo.circles.core.timeline.TimelineDataSource
 import org.futo.circles.core.timeline.post.PostOptionsDataSource
 import org.futo.circles.core.timeline.post.SendMessageDataSource
-import org.futo.circles.gallery.feature.gallery.full_screen.media_item.FullScreenMediaDataSource
+import org.futo.circles.core.timeline.post.PostContentDataSource
 import org.futo.circles.core.model.GalleryContentListItem
 import javax.inject.Inject
 
@@ -23,7 +23,7 @@ class GalleryViewModel @Inject constructor(
     savedStateHandle: SavedStateHandle,
     timelineDataSource: TimelineDataSource,
     private val sendMessageDataSource: SendMessageDataSource,
-    private val mediaDataSource: FullScreenMediaDataSource,
+    private val mediaDataSource: PostContentDataSource,
     private val postOptionsDataSource: PostOptionsDataSource
 ) : BaseTimelineViewModel(timelineDataSource) {