diff --git a/README.txt b/README.md
similarity index 51%
rename from README.txt
rename to README.md
index 51ffb83..0c976eb 100644
--- a/README.txt
+++ b/README.md
@@ -1,28 +1,41 @@
-THIS IS
+# cpsms
+
+## This is
+
A Python 3 wrapper around the SMS gateway from CPSMS .
-THIS IS NOT
+
+## This is not
+
Some sort of magic, free SMS gateway.
-INSTALLATION
-cpsms is available from PyPI .
-Easiest way to install is: `pip install cpsms`.
-REQUIREMENTS
+## Installation
+
+`cpsms` is available [from PyPI](https://pypi.python.org/pypi/cpsms). Easiest
+way to install is: `pip install cpsms`.
+
+
+## Requirements
+
You need to have a (paid) account at CPSMS to be able to use their gateway.
They sell a fair, no-nonsense product which I'd recommend if you want to be
able to send SMS from your code (primarily to Danish phones).
-HOW TO USE
-See a couple of example use cases in example.py that should have come
-along with this file. Apart from what is shown in examples.py, this also
-supports status callback URLs, delayed sending and flash messages.
-FURTHER INFO
-For more info on parameters, take a look at the API documentation found at:
-.
+## How to use
-I believe the gateway software running at the CPSMS server is some sort of
+See a couple of example use cases in [example.py](./examples.py) that should
+have come along with this file. Apart from what is shown in examples.py, this
+also supports status callback URLs, delayed sending and flash messages.
+
+
+## Further information
+
+For more info on parameters, have a look at the
+[CPSMS API documentation](https://www.cpsms.dk/login/index.php?page=dokumentation).
+
+I believe the gateway software running at the CPSMS server is some sort of
standard product. This may be able to talk to other remote SMS gateways as
well, and that's why I made it an option to specify another gateway base
URL. If you know of any other compatible gateways, please let me know, and
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..82ea832
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,18 @@
+[project]
+name = "cpsms"
+version = "2.1.0"
+authors = [
+ { name="Mikkel Munch Mortensen", email="3xm@detfalskested.dk" },
+]
+description = "A Python wrapper around the SMS gateway from CPSMS ."
+readme = "README.md"
+requires-python = ">=3.10"
+classifiers = [
+ "Programming Language :: Python :: 3",
+ "License :: OSI Approved :: MIT License",
+ "Operating System :: OS Independent",
+]
+
+[project.urls]
+Homepage = "https://git.data.coop/gorgonzo.la/cpsms"
+Issues = "https://git.data.coop/gorgonzo.la/cpsms/issues"
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 3dc7ec1..0000000
--- a/setup.py
+++ /dev/null
@@ -1,15 +0,0 @@
-from distutils.core import setup
-
-
-setup(
- name="cpsms",
- packages=["cpsms"],
- version="2.0.3",
- author="Mikkel Munch Mortensen",
- author_email="3xm@detfalskested.dk",
- url="https://github.com/decibyte/cpsms",
- description=(
- "A Python wrapper around the SMS gateway from "
- "CPSMS ."
- ),
-)