diff --git a/.gitmodules b/.gitmodules
index c25a7ad..8b13789 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1 @@
-[submodule "External/Nimble"]
- path = External/Nimble
- url = git://github.com/Quick/Nimble.git
+
diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/External/Nimble b/External/Nimble
deleted file mode 160000
index 38c9ab0..0000000
--- a/External/Nimble
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 38c9ab0846a3fbec308eb2aa9ef68b10a7434eb4
diff --git a/Package.resolved b/Package.resolved
new file mode 100644
index 0000000..8195362
--- /dev/null
+++ b/Package.resolved
@@ -0,0 +1,32 @@
+{
+ "pins" : [
+ {
+ "identity" : "cwlcatchexception",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/mattgallagher/CwlCatchException.git",
+ "state" : {
+ "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00",
+ "version" : "2.1.2"
+ }
+ },
+ {
+ "identity" : "cwlpreconditiontesting",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
+ "state" : {
+ "revision" : "dc9af4781f2afdd1e68e90f80b8603be73ea7abc",
+ "version" : "2.2.0"
+ }
+ },
+ {
+ "identity" : "nimble",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/Quick/Nimble.git",
+ "state" : {
+ "revision" : "c1f3dd66222d5e7a1a20afc237f7e7bc432c564f",
+ "version" : "13.2.0"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..d27d349
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,28 @@
+// swift-tools-version:5.8
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "TableViewKit",
+ platforms: [.iOS(.v15)],
+ products: [
+ .library(
+ name: "TableViewKit", targets: ["TableViewKit"]),
+ ],
+ dependencies: [
+ .package(
+ url: "https://github.com/Quick/Nimble.git", .upToNextMajor(from: "13.2.0")
+ ),
+ ],
+ targets: [
+ .target(
+ name: "TableViewKit",
+ dependencies: [],
+ path: "./TableViewKit"),
+ .testTarget(
+ name: "TableViewKitTests",
+ dependencies: ["TableViewKit", "Nimble"],
+ path: "./TableViewKitTests")
+ ]
+)
diff --git a/TableViewKit/ActionPerformable.swift b/TableViewKit/ActionPerformable.swift
index 56ba79f..c152520 100644
--- a/TableViewKit/ActionPerformable.swift
+++ b/TableViewKit/ActionPerformable.swift
@@ -1,5 +1,5 @@
import Foundation
-
+import UIKit
/// A type that represent the kind of action an item should perform.
/// I.e.: copy or paste
public enum ItemAction {
diff --git a/TableViewKit/Height.swift b/TableViewKit/Height.swift
index 5b995d6..91cd9e6 100644
--- a/TableViewKit/Height.swift
+++ b/TableViewKit/Height.swift
@@ -1,4 +1,5 @@
import Foundation
+import UIKit
/// Defines either a dynamic or static height
public enum Height {
diff --git a/TableViewKit/NibClassType.swift b/TableViewKit/NibClassType.swift
index 6ab2645..a486404 100644
--- a/TableViewKit/NibClassType.swift
+++ b/TableViewKit/NibClassType.swift
@@ -1,4 +1,5 @@
import Foundation
+import UIKit
/// A Nib/Class loadable type
public enum NibClassType {
diff --git a/TableViewKit/Protocols/Editable.swift b/TableViewKit/Protocols/Editable.swift
index ee77f9b..4afaa6c 100644
--- a/TableViewKit/Protocols/Editable.swift
+++ b/TableViewKit/Protocols/Editable.swift
@@ -1,4 +1,5 @@
import Foundation
+import UIKit
/// A type that represent an item that can be edited
public protocol Editable: TableItem {
diff --git a/TableViewKit/Protocols/Selectable.swift b/TableViewKit/Protocols/Selectable.swift
index d3d389d..b528bd6 100644
--- a/TableViewKit/Protocols/Selectable.swift
+++ b/TableViewKit/Protocols/Selectable.swift
@@ -1,4 +1,5 @@
import Foundation
+import UIKit
/// A type that represent an item that can be selected
public protocol Selectable: TableItem {
diff --git a/TableViewKit/Protocols/TableItem.swift b/TableViewKit/Protocols/TableItem.swift
index c126651..8fd916a 100644
--- a/TableViewKit/Protocols/TableItem.swift
+++ b/TableViewKit/Protocols/TableItem.swift
@@ -1,4 +1,5 @@
import Foundation
+import UIKit
@available(*, deprecated, renamed: "TableItem")
public typealias Item = TableItem