diff --git a/Account/.gitignore b/Modules/Account/.gitignore similarity index 100% rename from Account/.gitignore rename to Modules/Account/.gitignore diff --git a/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme b/Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme similarity index 100% rename from Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme rename to Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme diff --git a/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme b/Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme similarity index 100% rename from Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme rename to Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme diff --git a/Account/Package.swift b/Modules/Account/Package.swift similarity index 100% rename from Account/Package.swift rename to Modules/Account/Package.swift diff --git a/Account/README.md b/Modules/Account/README.md similarity index 100% rename from Account/README.md rename to Modules/Account/README.md diff --git a/Account/Sources/Account/Account.swift b/Modules/Account/Sources/Account/Account.swift similarity index 100% rename from Account/Sources/Account/Account.swift rename to Modules/Account/Sources/Account/Account.swift diff --git a/Account/Sources/Account/AccountBehaviors.swift b/Modules/Account/Sources/Account/AccountBehaviors.swift similarity index 100% rename from Account/Sources/Account/AccountBehaviors.swift rename to Modules/Account/Sources/Account/AccountBehaviors.swift diff --git a/Account/Sources/Account/AccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift diff --git a/Account/Sources/Account/AccountError.swift b/Modules/Account/Sources/Account/AccountError.swift similarity index 100% rename from Account/Sources/Account/AccountError.swift rename to Modules/Account/Sources/Account/AccountError.swift diff --git a/Account/Sources/Account/AccountManager.swift b/Modules/Account/Sources/Account/AccountManager.swift similarity index 100% rename from Account/Sources/Account/AccountManager.swift rename to Modules/Account/Sources/Account/AccountManager.swift diff --git a/Account/Sources/Account/AccountMetadata.swift b/Modules/Account/Sources/Account/AccountMetadata.swift similarity index 100% rename from Account/Sources/Account/AccountMetadata.swift rename to Modules/Account/Sources/Account/AccountMetadata.swift diff --git a/Account/Sources/Account/AccountMetadataFile.swift b/Modules/Account/Sources/Account/AccountMetadataFile.swift similarity index 100% rename from Account/Sources/Account/AccountMetadataFile.swift rename to Modules/Account/Sources/Account/AccountMetadataFile.swift diff --git a/Account/Sources/Account/AccountSyncError.swift b/Modules/Account/Sources/Account/AccountSyncError.swift similarity index 100% rename from Account/Sources/Account/AccountSyncError.swift rename to Modules/Account/Sources/Account/AccountSyncError.swift diff --git a/Account/Sources/Account/ArticleFetcher.swift b/Modules/Account/Sources/Account/ArticleFetcher.swift similarity index 100% rename from Account/Sources/Account/ArticleFetcher.swift rename to Modules/Account/Sources/Account/ArticleFetcher.swift diff --git a/Account/Sources/Account/CombinedRefreshProgress.swift b/Modules/Account/Sources/Account/CombinedRefreshProgress.swift similarity index 100% rename from Account/Sources/Account/CombinedRefreshProgress.swift rename to Modules/Account/Sources/Account/CombinedRefreshProgress.swift diff --git a/Account/Sources/Account/Container.swift b/Modules/Account/Sources/Account/Container.swift similarity index 100% rename from Account/Sources/Account/Container.swift rename to Modules/Account/Sources/Account/Container.swift diff --git a/Account/Sources/Account/ContainerIdentifier.swift b/Modules/Account/Sources/Account/ContainerIdentifier.swift similarity index 100% rename from Account/Sources/Account/ContainerIdentifier.swift rename to Modules/Account/Sources/Account/ContainerIdentifier.swift diff --git a/Account/Sources/Account/ContainerPath.swift b/Modules/Account/Sources/Account/ContainerPath.swift similarity index 100% rename from Account/Sources/Account/ContainerPath.swift rename to Modules/Account/Sources/Account/ContainerPath.swift diff --git a/Account/Sources/Account/DataExtensions.swift b/Modules/Account/Sources/Account/DataExtensions.swift similarity index 100% rename from Account/Sources/Account/DataExtensions.swift rename to Modules/Account/Sources/Account/DataExtensions.swift diff --git a/Account/Sources/Account/Feed.swift b/Modules/Account/Sources/Account/Feed.swift similarity index 100% rename from Account/Sources/Account/Feed.swift rename to Modules/Account/Sources/Account/Feed.swift diff --git a/Account/Sources/Account/FeedMetadata.swift b/Modules/Account/Sources/Account/FeedMetadata.swift similarity index 100% rename from Account/Sources/Account/FeedMetadata.swift rename to Modules/Account/Sources/Account/FeedMetadata.swift diff --git a/Account/Sources/Account/FeedMetadataFile.swift b/Modules/Account/Sources/Account/FeedMetadataFile.swift similarity index 100% rename from Account/Sources/Account/FeedMetadataFile.swift rename to Modules/Account/Sources/Account/FeedMetadataFile.swift diff --git a/Account/Sources/Account/Folder.swift b/Modules/Account/Sources/Account/Folder.swift similarity index 100% rename from Account/Sources/Account/Folder.swift rename to Modules/Account/Sources/Account/Folder.swift diff --git a/Account/Sources/Account/OPMLFile.swift b/Modules/Account/Sources/Account/OPMLFile.swift similarity index 100% rename from Account/Sources/Account/OPMLFile.swift rename to Modules/Account/Sources/Account/OPMLFile.swift diff --git a/Account/Sources/Account/OPMLNormalizer.swift b/Modules/Account/Sources/Account/OPMLNormalizer.swift similarity index 100% rename from Account/Sources/Account/OPMLNormalizer.swift rename to Modules/Account/Sources/Account/OPMLNormalizer.swift diff --git a/Account/Sources/Account/SingleArticleFetcher.swift b/Modules/Account/Sources/Account/SingleArticleFetcher.swift similarity index 100% rename from Account/Sources/Account/SingleArticleFetcher.swift rename to Modules/Account/Sources/Account/SingleArticleFetcher.swift diff --git a/Account/Sources/Account/URLRequest+Account.swift b/Modules/Account/Sources/Account/URLRequest+Account.swift similarity index 100% rename from Account/Sources/Account/URLRequest+Account.swift rename to Modules/Account/Sources/Account/URLRequest+Account.swift diff --git a/Account/Sources/Account/UnreadCountProvider.swift b/Modules/Account/Sources/Account/UnreadCountProvider.swift similarity index 100% rename from Account/Sources/Account/UnreadCountProvider.swift rename to Modules/Account/Sources/Account/UnreadCountProvider.swift diff --git a/Account/Tests/AccountTests/AccountCredentialsTest.swift b/Modules/Account/Tests/AccountTests/AccountCredentialsTest.swift similarity index 100% rename from Account/Tests/AccountTests/AccountCredentialsTest.swift rename to Modules/Account/Tests/AccountTests/AccountCredentialsTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift diff --git a/Account/Tests/AccountTests/JSON/feedly_collections_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_collections_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_collections_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_collections_initial.json diff --git a/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json diff --git a/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json b/Modules/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_unreads_1000.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json diff --git a/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_unreads_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json diff --git a/Account/Tests/AccountTests/JSON/subscriptions_add.json b/Modules/Account/Tests/AccountTests/JSON/subscriptions_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/subscriptions_add.json rename to Modules/Account/Tests/AccountTests/JSON/subscriptions_add.json diff --git a/Account/Tests/AccountTests/JSON/subscriptions_initial.json b/Modules/Account/Tests/AccountTests/JSON/subscriptions_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/subscriptions_initial.json rename to Modules/Account/Tests/AccountTests/JSON/subscriptions_initial.json diff --git a/Account/Tests/AccountTests/JSON/taggings_add.json b/Modules/Account/Tests/AccountTests/JSON/taggings_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_add.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_add.json diff --git a/Account/Tests/AccountTests/JSON/taggings_delete.json b/Modules/Account/Tests/AccountTests/JSON/taggings_delete.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_delete.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_delete.json diff --git a/Account/Tests/AccountTests/JSON/taggings_initial.json b/Modules/Account/Tests/AccountTests/JSON/taggings_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_initial.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_initial.json diff --git a/Account/Tests/AccountTests/JSON/tags_add.json b/Modules/Account/Tests/AccountTests/JSON/tags_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_add.json rename to Modules/Account/Tests/AccountTests/JSON/tags_add.json diff --git a/Account/Tests/AccountTests/JSON/tags_delete.json b/Modules/Account/Tests/AccountTests/JSON/tags_delete.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_delete.json rename to Modules/Account/Tests/AccountTests/JSON/tags_delete.json diff --git a/Account/Tests/AccountTests/JSON/tags_initial.json b/Modules/Account/Tests/AccountTests/JSON/tags_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_initial.json rename to Modules/Account/Tests/AccountTests/JSON/tags_initial.json diff --git a/Account/Tests/AccountTests/TestAccountManager.swift b/Modules/Account/Tests/AccountTests/TestAccountManager.swift similarity index 100% rename from Account/Tests/AccountTests/TestAccountManager.swift rename to Modules/Account/Tests/AccountTests/TestAccountManager.swift diff --git a/Account/Tests/AccountTests/TestTransport.swift b/Modules/Account/Tests/AccountTests/TestTransport.swift similarity index 100% rename from Account/Tests/AccountTests/TestTransport.swift rename to Modules/Account/Tests/AccountTests/TestTransport.swift diff --git a/Account/Tests/LinuxMain.swift b/Modules/Account/Tests/LinuxMain.swift similarity index 100% rename from Account/Tests/LinuxMain.swift rename to Modules/Account/Tests/LinuxMain.swift diff --git a/AppKitExtras/.gitignore b/Modules/AppKitExtras/.gitignore similarity index 100% rename from AppKitExtras/.gitignore rename to Modules/AppKitExtras/.gitignore diff --git a/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme b/Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme similarity index 100% rename from AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme rename to Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme diff --git a/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme b/Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme similarity index 100% rename from AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme rename to Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme diff --git a/AppKitExtras/Package.swift b/Modules/AppKitExtras/Package.swift similarity index 100% rename from AppKitExtras/Package.swift rename to Modules/AppKitExtras/Package.swift diff --git a/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift b/Modules/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/FourCharCode.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift diff --git a/AppKitExtras/Sources/AppKitExtras/Keyboard.swift b/Modules/AppKitExtras/Sources/AppKitExtras/Keyboard.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/Keyboard.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/Keyboard.swift diff --git a/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift b/Modules/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift b/Modules/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift diff --git a/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift b/Modules/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift diff --git a/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift b/Modules/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift diff --git a/AppKitExtras/Sources/AppKitExtras/UserApp.swift b/Modules/AppKitExtras/Sources/AppKitExtras/UserApp.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/UserApp.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/UserApp.swift diff --git a/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift b/Modules/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift similarity index 100% rename from AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift rename to Modules/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift diff --git a/ArticleExtractor/.gitignore b/Modules/ArticleExtractor/.gitignore similarity index 100% rename from ArticleExtractor/.gitignore rename to Modules/ArticleExtractor/.gitignore diff --git a/ArticleExtractor/Package.swift b/Modules/ArticleExtractor/Package.swift similarity index 100% rename from ArticleExtractor/Package.swift rename to Modules/ArticleExtractor/Package.swift diff --git a/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift b/Modules/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift similarity index 100% rename from ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift rename to Modules/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift diff --git a/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift b/Modules/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift similarity index 100% rename from ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift rename to Modules/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift diff --git a/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift b/Modules/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift similarity index 100% rename from ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift rename to Modules/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift diff --git a/Articles/.gitignore b/Modules/Articles/.gitignore similarity index 100% rename from Articles/.gitignore rename to Modules/Articles/.gitignore diff --git a/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme b/Modules/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme similarity index 100% rename from Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme rename to Modules/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme diff --git a/Articles/Package.swift b/Modules/Articles/Package.swift similarity index 100% rename from Articles/Package.swift rename to Modules/Articles/Package.swift diff --git a/Articles/README.md b/Modules/Articles/README.md similarity index 100% rename from Articles/README.md rename to Modules/Articles/README.md diff --git a/Articles/Sources/Articles/Article.swift b/Modules/Articles/Sources/Articles/Article.swift similarity index 100% rename from Articles/Sources/Articles/Article.swift rename to Modules/Articles/Sources/Articles/Article.swift diff --git a/Articles/Sources/Articles/ArticleStatus.swift b/Modules/Articles/Sources/Articles/ArticleStatus.swift similarity index 100% rename from Articles/Sources/Articles/ArticleStatus.swift rename to Modules/Articles/Sources/Articles/ArticleStatus.swift diff --git a/Articles/Sources/Articles/Author.swift b/Modules/Articles/Sources/Articles/Author.swift similarity index 100% rename from Articles/Sources/Articles/Author.swift rename to Modules/Articles/Sources/Articles/Author.swift diff --git a/Articles/Sources/Articles/DatabaseID.swift b/Modules/Articles/Sources/Articles/DatabaseID.swift similarity index 100% rename from Articles/Sources/Articles/DatabaseID.swift rename to Modules/Articles/Sources/Articles/DatabaseID.swift diff --git a/ArticlesDatabase/.gitignore b/Modules/ArticlesDatabase/.gitignore similarity index 100% rename from ArticlesDatabase/.gitignore rename to Modules/ArticlesDatabase/.gitignore diff --git a/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme b/Modules/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme similarity index 100% rename from ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme rename to Modules/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme diff --git a/ArticlesDatabase/Package.swift b/Modules/ArticlesDatabase/Package.swift similarity index 100% rename from ArticlesDatabase/Package.swift rename to Modules/ArticlesDatabase/Package.swift diff --git a/ArticlesDatabase/README.md b/Modules/ArticlesDatabase/README.md similarity index 100% rename from ArticlesDatabase/README.md rename to Modules/ArticlesDatabase/README.md diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift diff --git a/CloudKitSync/.gitignore b/Modules/CloudKitSync/.gitignore similarity index 100% rename from CloudKitSync/.gitignore rename to Modules/CloudKitSync/.gitignore diff --git a/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme b/Modules/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme similarity index 100% rename from CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme rename to Modules/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme diff --git a/CloudKitSync/Package.swift b/Modules/CloudKitSync/Package.swift similarity index 100% rename from CloudKitSync/Package.swift rename to Modules/CloudKitSync/Package.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitError.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift diff --git a/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift b/Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift diff --git a/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift b/Modules/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift similarity index 100% rename from CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift rename to Modules/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift diff --git a/CommonErrors/.gitignore b/Modules/CommonErrors/.gitignore similarity index 100% rename from CommonErrors/.gitignore rename to Modules/CommonErrors/.gitignore diff --git a/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme b/Modules/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme similarity index 100% rename from CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme rename to Modules/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme diff --git a/CommonErrors/Package.swift b/Modules/CommonErrors/Package.swift similarity index 100% rename from CommonErrors/Package.swift rename to Modules/CommonErrors/Package.swift diff --git a/CommonErrors/Sources/CommonErrors/CommonError.swift b/Modules/CommonErrors/Sources/CommonErrors/CommonError.swift similarity index 100% rename from CommonErrors/Sources/CommonErrors/CommonError.swift rename to Modules/CommonErrors/Sources/CommonErrors/CommonError.swift diff --git a/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift b/Modules/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift similarity index 100% rename from CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift rename to Modules/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift diff --git a/Core/.gitignore b/Modules/Core/.gitignore similarity index 100% rename from Core/.gitignore rename to Modules/Core/.gitignore diff --git a/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme b/Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme similarity index 100% rename from Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme rename to Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme diff --git a/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme b/Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme similarity index 100% rename from Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme rename to Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme diff --git a/Core/Package.swift b/Modules/Core/Package.swift similarity index 100% rename from Core/Package.swift rename to Modules/Core/Package.swift diff --git a/Core/Sources/Core/AppConfig.swift b/Modules/Core/Sources/Core/AppConfig.swift similarity index 100% rename from Core/Sources/Core/AppConfig.swift rename to Modules/Core/Sources/Core/AppConfig.swift diff --git a/Core/Sources/Core/BatchUpdate.swift b/Modules/Core/Sources/Core/BatchUpdate.swift similarity index 100% rename from Core/Sources/Core/BatchUpdate.swift rename to Modules/Core/Sources/Core/BatchUpdate.swift diff --git a/Core/Sources/Core/BinaryDiskCache.swift b/Modules/Core/Sources/Core/BinaryDiskCache.swift similarity index 100% rename from Core/Sources/Core/BinaryDiskCache.swift rename to Modules/Core/Sources/Core/BinaryDiskCache.swift diff --git a/Core/Sources/Core/CoalescingQueue.swift b/Modules/Core/Sources/Core/CoalescingQueue.swift similarity index 100% rename from Core/Sources/Core/CoalescingQueue.swift rename to Modules/Core/Sources/Core/CoalescingQueue.swift diff --git a/Core/Sources/Core/DataFile.swift b/Modules/Core/Sources/Core/DataFile.swift similarity index 100% rename from Core/Sources/Core/DataFile.swift rename to Modules/Core/Sources/Core/DataFile.swift diff --git a/Core/Sources/Core/DisplayNameProvider.swift b/Modules/Core/Sources/Core/DisplayNameProvider.swift similarity index 100% rename from Core/Sources/Core/DisplayNameProvider.swift rename to Modules/Core/Sources/Core/DisplayNameProvider.swift diff --git a/Core/Sources/Core/MacroProcessor.swift b/Modules/Core/Sources/Core/MacroProcessor.swift similarity index 100% rename from Core/Sources/Core/MacroProcessor.swift rename to Modules/Core/Sources/Core/MacroProcessor.swift diff --git a/Core/Sources/Core/OPMLRepresentable.swift b/Modules/Core/Sources/Core/OPMLRepresentable.swift similarity index 100% rename from Core/Sources/Core/OPMLRepresentable.swift rename to Modules/Core/Sources/Core/OPMLRepresentable.swift diff --git a/Core/Sources/Core/Platform.swift b/Modules/Core/Sources/Core/Platform.swift similarity index 100% rename from Core/Sources/Core/Platform.swift rename to Modules/Core/Sources/Core/Platform.swift diff --git a/Core/Sources/Core/RSAppMovementMonitor.swift b/Modules/Core/Sources/Core/RSAppMovementMonitor.swift similarity index 100% rename from Core/Sources/Core/RSAppMovementMonitor.swift rename to Modules/Core/Sources/Core/RSAppMovementMonitor.swift diff --git a/Core/Sources/Core/RSImage.swift b/Modules/Core/Sources/Core/RSImage.swift similarity index 100% rename from Core/Sources/Core/RSImage.swift rename to Modules/Core/Sources/Core/RSImage.swift diff --git a/Core/Sources/Core/Renamable.swift b/Modules/Core/Sources/Core/Renamable.swift similarity index 100% rename from Core/Sources/Core/Renamable.swift rename to Modules/Core/Sources/Core/Renamable.swift diff --git a/Core/Sources/Core/SendToBlogEditorApp.swift b/Modules/Core/Sources/Core/SendToBlogEditorApp.swift similarity index 100% rename from Core/Sources/Core/SendToBlogEditorApp.swift rename to Modules/Core/Sources/Core/SendToBlogEditorApp.swift diff --git a/Core/Sources/Core/SendToCommand.swift b/Modules/Core/Sources/Core/SendToCommand.swift similarity index 100% rename from Core/Sources/Core/SendToCommand.swift rename to Modules/Core/Sources/Core/SendToCommand.swift diff --git a/Core/Sources/Core/UndoableCommand.swift b/Modules/Core/Sources/Core/UndoableCommand.swift similarity index 100% rename from Core/Sources/Core/UndoableCommand.swift rename to Modules/Core/Sources/Core/UndoableCommand.swift diff --git a/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift b/Modules/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift similarity index 100% rename from Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift rename to Modules/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift diff --git a/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift b/Modules/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift similarity index 100% rename from Core/Sources/CoreResources/AppKit/WebViewWindowController.swift rename to Modules/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift diff --git a/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib b/Modules/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib similarity index 100% rename from Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib rename to Modules/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib diff --git a/Core/Sources/CoreResources/Resources/WebViewWindow.xib b/Modules/Core/Sources/CoreResources/Resources/WebViewWindow.xib similarity index 100% rename from Core/Sources/CoreResources/Resources/WebViewWindow.xib rename to Modules/Core/Sources/CoreResources/Resources/WebViewWindow.xib diff --git a/Core/Tests/CoreTests/MacroProcessorTests.swift b/Modules/Core/Tests/CoreTests/MacroProcessorTests.swift similarity index 100% rename from Core/Tests/CoreTests/MacroProcessorTests.swift rename to Modules/Core/Tests/CoreTests/MacroProcessorTests.swift diff --git a/Database/.gitignore b/Modules/Database/.gitignore similarity index 100% rename from Database/.gitignore rename to Modules/Database/.gitignore diff --git a/Database/Package.swift b/Modules/Database/Package.swift similarity index 100% rename from Database/Package.swift rename to Modules/Database/Package.swift diff --git a/Database/Sources/Database/Database.swift b/Modules/Database/Sources/Database/Database.swift similarity index 100% rename from Database/Sources/Database/Database.swift rename to Modules/Database/Sources/Database/Database.swift diff --git a/Database/Sources/Database/DatabaseObject.swift b/Modules/Database/Sources/Database/DatabaseObject.swift similarity index 100% rename from Database/Sources/Database/DatabaseObject.swift rename to Modules/Database/Sources/Database/DatabaseObject.swift diff --git a/Database/Sources/Database/DatabaseObjectCache.swift b/Modules/Database/Sources/Database/DatabaseObjectCache.swift similarity index 100% rename from Database/Sources/Database/DatabaseObjectCache.swift rename to Modules/Database/Sources/Database/DatabaseObjectCache.swift diff --git a/Database/Sources/Database/FMDatabase+Extras.swift b/Modules/Database/Sources/Database/FMDatabase+Extras.swift similarity index 100% rename from Database/Sources/Database/FMDatabase+Extras.swift rename to Modules/Database/Sources/Database/FMDatabase+Extras.swift diff --git a/Database/Sources/Database/FMResultSet+Extras.swift b/Modules/Database/Sources/Database/FMResultSet+Extras.swift similarity index 100% rename from Database/Sources/Database/FMResultSet+Extras.swift rename to Modules/Database/Sources/Database/FMResultSet+Extras.swift diff --git a/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift b/Modules/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift similarity index 100% rename from Database/Sources/Database/Related Objects/DatabaseLookupTable.swift rename to Modules/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift diff --git a/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift b/Modules/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift similarity index 100% rename from Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift rename to Modules/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift diff --git a/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift b/Modules/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift similarity index 100% rename from Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift rename to Modules/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift diff --git a/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift b/Modules/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift similarity index 100% rename from Database/Sources/Database/Related Objects/RelatedObjectsMap.swift rename to Modules/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift diff --git a/Database/Tests/DatabaseTests/DatabaseTests.swift b/Modules/Database/Tests/DatabaseTests/DatabaseTests.swift similarity index 100% rename from Database/Tests/DatabaseTests/DatabaseTests.swift rename to Modules/Database/Tests/DatabaseTests/DatabaseTests.swift diff --git a/FMDB/.gitignore b/Modules/FMDB/.gitignore similarity index 100% rename from FMDB/.gitignore rename to Modules/FMDB/.gitignore diff --git a/FMDB/Package.swift b/Modules/FMDB/Package.swift similarity index 100% rename from FMDB/Package.swift rename to Modules/FMDB/Package.swift diff --git a/FMDB/Sources/FMDB/FMDatabase+RSExtras.h b/Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase+RSExtras.h rename to Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.h diff --git a/FMDB/Sources/FMDB/FMDatabase+RSExtras.m b/Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase+RSExtras.m rename to Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.m diff --git a/FMDB/Sources/FMDB/FMDatabase.h b/Modules/FMDB/Sources/FMDB/FMDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase.h rename to Modules/FMDB/Sources/FMDB/FMDatabase.h diff --git a/FMDB/Sources/FMDB/FMDatabase.m b/Modules/FMDB/Sources/FMDB/FMDatabase.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase.m rename to Modules/FMDB/Sources/FMDB/FMDatabase.m diff --git a/FMDB/Sources/FMDB/FMDatabaseAdditions.h b/Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabaseAdditions.h rename to Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.h diff --git a/FMDB/Sources/FMDB/FMDatabaseAdditions.m b/Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabaseAdditions.m rename to Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.m diff --git a/FMDB/Sources/FMDB/FMResultSet+RSExtras.h b/Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.h similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet+RSExtras.h rename to Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.h diff --git a/FMDB/Sources/FMDB/FMResultSet+RSExtras.m b/Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.m similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet+RSExtras.m rename to Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.m diff --git a/FMDB/Sources/FMDB/FMResultSet.h b/Modules/FMDB/Sources/FMDB/FMResultSet.h similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet.h rename to Modules/FMDB/Sources/FMDB/FMResultSet.h diff --git a/FMDB/Sources/FMDB/FMResultSet.m b/Modules/FMDB/Sources/FMDB/FMResultSet.m similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet.m rename to Modules/FMDB/Sources/FMDB/FMResultSet.m diff --git a/FMDB/Sources/FMDB/NSString+RSDatabase.h b/Modules/FMDB/Sources/FMDB/NSString+RSDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/NSString+RSDatabase.h rename to Modules/FMDB/Sources/FMDB/NSString+RSDatabase.h diff --git a/FMDB/Sources/FMDB/NSString+RSDatabase.m b/Modules/FMDB/Sources/FMDB/NSString+RSDatabase.m similarity index 100% rename from FMDB/Sources/FMDB/NSString+RSDatabase.m rename to Modules/FMDB/Sources/FMDB/NSString+RSDatabase.m diff --git a/FMDB/Sources/FMDB/include/FMDatabase.h b/Modules/FMDB/Sources/FMDB/include/FMDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/include/FMDatabase.h rename to Modules/FMDB/Sources/FMDB/include/FMDatabase.h diff --git a/FMDB/Tests/FMDBTests/FMDBTests.swift b/Modules/FMDB/Tests/FMDBTests/FMDBTests.swift similarity index 100% rename from FMDB/Tests/FMDBTests/FMDBTests.swift rename to Modules/FMDB/Tests/FMDBTests/FMDBTests.swift diff --git a/FeedDownloader/.gitignore b/Modules/FeedDownloader/.gitignore similarity index 100% rename from FeedDownloader/.gitignore rename to Modules/FeedDownloader/.gitignore diff --git a/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme b/Modules/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme similarity index 100% rename from FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme rename to Modules/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme diff --git a/FeedDownloader/Package.swift b/Modules/FeedDownloader/Package.swift similarity index 100% rename from FeedDownloader/Package.swift rename to Modules/FeedDownloader/Package.swift diff --git a/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift b/Modules/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift similarity index 100% rename from FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift rename to Modules/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift diff --git a/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift b/Modules/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift similarity index 100% rename from FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift rename to Modules/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift diff --git a/FeedFinder/.gitignore b/Modules/FeedFinder/.gitignore similarity index 100% rename from FeedFinder/.gitignore rename to Modules/FeedFinder/.gitignore diff --git a/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme b/Modules/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme similarity index 100% rename from FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme rename to Modules/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme diff --git a/FeedFinder/Package.swift b/Modules/FeedFinder/Package.swift similarity index 100% rename from FeedFinder/Package.swift rename to Modules/FeedFinder/Package.swift diff --git a/FeedFinder/Sources/FeedFinder/FeedFinder.swift b/Modules/FeedFinder/Sources/FeedFinder/FeedFinder.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/FeedFinder.swift rename to Modules/FeedFinder/Sources/FeedFinder/FeedFinder.swift diff --git a/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift b/Modules/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/FeedSpecifier.swift rename to Modules/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift diff --git a/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift b/Modules/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift rename to Modules/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift diff --git a/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift b/Modules/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift similarity index 100% rename from FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift rename to Modules/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift diff --git a/Feedbin/.gitignore b/Modules/Feedbin/.gitignore similarity index 100% rename from Feedbin/.gitignore rename to Modules/Feedbin/.gitignore diff --git a/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme b/Modules/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme similarity index 100% rename from Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme rename to Modules/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme diff --git a/Feedbin/Package.swift b/Modules/Feedbin/Package.swift similarity index 100% rename from Feedbin/Package.swift rename to Modules/Feedbin/Package.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinAPICaller.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinDate.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinDate.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinDate.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinDate.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinEntry.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinImportResult.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinImportResult.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinImportResult.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinImportResult.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinSubscription.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinSubscription.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinSubscription.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinSubscription.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinTag.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinTag.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinTag.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinTag.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinTagging.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinTagging.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinTagging.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinTagging.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift diff --git a/Feedbin/Tests/FeedbinTests/FeedbinTests.swift b/Modules/Feedbin/Tests/FeedbinTests/FeedbinTests.swift similarity index 100% rename from Feedbin/Tests/FeedbinTests/FeedbinTests.swift rename to Modules/Feedbin/Tests/FeedbinTests/FeedbinTests.swift diff --git a/Feedly/.gitignore b/Modules/Feedly/.gitignore similarity index 100% rename from Feedly/.gitignore rename to Modules/Feedly/.gitignore diff --git a/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme b/Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme similarity index 84% rename from Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme rename to Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme index ea291e35c..7e0083fe3 100644 --- a/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme +++ b/Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme @@ -29,6 +29,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> + + + + + +