diff --git a/.coveragerc b/.coveragerc
index a661289d25ca0068d43f9a60f26b0e14a96f5440..7e86cef5421ff44189d028608997c0e4810bde6d 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -1,7 +1,7 @@
 # .coveragerc to control coverage.py
 [run]
 branch = True
-source = coffee_bot
+source = mattermost_matchmaker
 
 [report]
 # Regexes for lines to exclude from consideration
diff --git a/README.md b/README.md
index 279241fc8a91109b5eef8f13a3d77b6c1f12cf82..12d46b5abab2d9326ccd45bc5ef2a247f4b63687 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Mattermost Coffee Bot
+# Mattermost Matchmaker
 The purpose of this small bot is to act as a matchmaker for users that shares channel with the bot.
 
 ## Development
diff --git a/coffee_bot/__init__.py b/mattermost_matchmaker/__init__.py
similarity index 100%
rename from coffee_bot/__init__.py
rename to mattermost_matchmaker/__init__.py
diff --git a/coffee_bot/config.py b/mattermost_matchmaker/config.py
similarity index 100%
rename from coffee_bot/config.py
rename to mattermost_matchmaker/config.py
diff --git a/coffee_bot/match_making.py b/mattermost_matchmaker/matchmaking.py
similarity index 100%
rename from coffee_bot/match_making.py
rename to mattermost_matchmaker/matchmaking.py
diff --git a/coffee_bot/run.py b/mattermost_matchmaker/run.py
similarity index 100%
rename from coffee_bot/run.py
rename to mattermost_matchmaker/run.py
diff --git a/tests/test_lint.py b/tests/test_lint.py
index 1d8d6f1379b227fe928fdfddff7adbc7d252433b..6608b2b93000a6ab5632afb133b134a24cabba69 100644
--- a/tests/test_lint.py
+++ b/tests/test_lint.py
@@ -11,7 +11,7 @@ class CodeQualityCase(TestCase):
         self.rcfile = self.vcsroot.joinpath('.pylintrc')
 
     def test_source_quality(self):
-        self.assertEqual(0, epylint.lint("coffee_bot", ["--fail-under=9.5", f"--rcfile={self.rcfile}"]))
+        self.assertEqual(0, epylint.lint("mattermost_matchmaker", ["--fail-under=9.5", f"--rcfile={self.rcfile}"]))
 
     def test_test_quality(self):
         self.assertEqual(0, epylint.lint("tests", ["--fail-under=9.5", f"--rcfile={self.rcfile}"]))
diff --git a/tests/test_matchmaking.py b/tests/test_matchmaking.py
index 3300d7a6e8f4c9999af61e30a992fc608839e2c4..fd5eec8c1ea21e79e6a4ce66981ea8a0e9f4419b 100644
--- a/tests/test_matchmaking.py
+++ b/tests/test_matchmaking.py
@@ -4,7 +4,7 @@ import copy
 import mock
 import mattermost
 
-from coffee_bot import match_making
+from mattermost_matchmaker import matchmaking
 
 
 class MatchMakingCaseBase(unittest.TestCase):
@@ -65,7 +65,7 @@ class MatchMakingCase(MatchMakingCaseBase):
 
         self.assertIn(self.my_channel_membership, self.members)
 
-        members_except_me = match_making.members_in_channel_besides_me(
+        members_except_me = matchmaking.members_in_channel_besides_me(
             self.client, "channel-id")
 
         self.assertNotIn(
@@ -77,20 +77,20 @@ class MatchMakingCase(MatchMakingCaseBase):
         self.client.create_group_channel_with.return_value = {
             "id": "group-chat-id"}
 
-        group_id = match_making.create_group(self.client, ["user-id-0", "user-id-1"])
+        group_id = matchmaking.create_group(self.client, ["user-id-0", "user-id-1"])
 
         self.assertEqual(group_id, "group-chat-id")
         self.client.create_group_channel_with.assert_called_with(
             other_user_ids_list=['user-id-0', 'user-id-1']
         )
 
-    @mock.patch('coffee_bot.match_making.create_group')
-    @mock.patch('coffee_bot.match_making.random.shuffle')
+    @mock.patch('mattermost_matchmaker.matchmaking.create_group')
+    @mock.patch('mattermost_matchmaker.matchmaking.random.shuffle')
     def test_making_matches_for_members_even(self, _shuffle, create_group):
         members = self._generate_n_members(4)
         create_group.side_effect = lambda c, ids: ";".join(ids)
 
-        groups_created, left_out = match_making.make_matches_for_members(
+        groups_created, left_out = matchmaking.make_matches_for_members(
             client=self.client,
             members=members,
             group_size=2,
@@ -99,13 +99,13 @@ class MatchMakingCase(MatchMakingCaseBase):
         self.assertIsNone(left_out, "No one should be left out in this setup")
         self.assertListEqual(["user-id-0;user-id-1", "user-id-2;user-id-3"], groups_created)
 
-    @mock.patch('coffee_bot.match_making.create_group')
-    @mock.patch('coffee_bot.match_making.random.shuffle')
+    @mock.patch('mattermost_matchmaker.matchmaking.create_group')
+    @mock.patch('mattermost_matchmaker.matchmaking.random.shuffle')
     def test_making_matches_for_members_odd(self, _shuffle, create_group):
         members = self._generate_n_members(5)
         create_group.side_effect = lambda c, ids: ";".join(ids)
 
-        groups_created, left_out = match_making.make_matches_for_members(
+        groups_created, left_out = matchmaking.make_matches_for_members(
             client=self.client,
             members=members,
             group_size=2,
@@ -115,12 +115,12 @@ class MatchMakingCase(MatchMakingCaseBase):
         self.assertListEqual(["user-id-0;user-id-1", "user-id-2;user-id-3"], groups_created)
 
 
-@mock.patch('coffee_bot.match_making.make_matches_for_members')
-@mock.patch('coffee_bot.match_making.members_in_channel_besides_me')
+@mock.patch('mattermost_matchmaker.matchmaking.make_matches_for_members')
+@mock.patch('mattermost_matchmaker.matchmaking.members_in_channel_besides_me')
 class MatchingInChannelCase(MatchMakingCaseBase):
     def test_minimum_members_with_message(self, members_besides_me, make_matches_for_members):
         members_besides_me.return_value = self._generate_n_members(2)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             too_few_message="Too few",
@@ -132,7 +132,7 @@ class MatchingInChannelCase(MatchMakingCaseBase):
 
     def test_minimum_members_without_message(self, members_besides_me, make_matches_for_members):
         members_besides_me.return_value = self._generate_n_members(2)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             too_few_message=None,
@@ -146,7 +146,7 @@ class MatchingInChannelCase(MatchMakingCaseBase):
         make_matches_for_members.return_value = (["group-id-1", "group-id-2"], None)
 
         members_besides_me.return_value = self._generate_n_members(2)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             group_hail="Hail Group!",
@@ -162,7 +162,7 @@ class MatchingInChannelCase(MatchMakingCaseBase):
         make_matches_for_members.return_value = (["group-id-1", "group-id-2"], None)
 
         members_besides_me.return_value = self._generate_n_members(2)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             group_hail=None,
@@ -177,7 +177,7 @@ class MatchingInChannelCase(MatchMakingCaseBase):
                                              "first_name": "Firstname", "last_name": "LASTNAME"}
 
         members_besides_me.return_value = self._generate_n_members(1)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             left_out_message="Couldn't match {user[first_name]} {user[last_name]} this time",
@@ -193,7 +193,7 @@ class MatchingInChannelCase(MatchMakingCaseBase):
         make_matches_for_members.return_value = ([], "user-id-0")
 
         members_besides_me.return_value = self._generate_n_members(2)
-        match_making.matching_in_channel(
+        matchmaking.matching_in_channel(
             self.client,
             channel_id="channel-id",
             left_out_message=None,
diff --git a/tests/test_random_tuple.py b/tests/test_random_tuple.py
index aa61a35e86f0b3d2e1dd1b2e2e804d28ff77f98b..99ec4f1920564d26c10ea2de61ebdfcfd14d210e 100644
--- a/tests/test_random_tuple.py
+++ b/tests/test_random_tuple.py
@@ -1,6 +1,6 @@
 # pylint: disable=missing-class-docstring, missing-function-docstring
 import unittest
-from coffee_bot import match_making
+from mattermost_matchmaker import matchmaking
 
 
 class RandomNonrepeatingTuplesCase(unittest.TestCase):
@@ -8,7 +8,7 @@ class RandomNonrepeatingTuplesCase(unittest.TestCase):
         population = ["alma", "korte", "cseresznye", "meggy"]
 
         # pylint: disable=unnecessary-comprehension
-        random_pairs = [p for p in match_making.random_nonrepeating_tuples(population, 2)]
+        random_pairs = [p for p in matchmaking.random_nonrepeating_tuples(population, 2)]
 
         self.assertEqual(len(random_pairs), len(population)/2)
 
@@ -21,7 +21,7 @@ class RandomNonrepeatingTuplesCase(unittest.TestCase):
         population = ["alma", "korte", "cseresznye"]
 
         # pylint: disable=unnecessary-comprehension
-        random_pairs = [p for p in match_making.random_nonrepeating_tuples(population, 2)]
+        random_pairs = [p for p in matchmaking.random_nonrepeating_tuples(population, 2)]
 
         self.assertEqual(len(random_pairs), (len(population)+1)/2)
 
@@ -48,6 +48,6 @@ class RandomNonrepeatingTuplesCase(unittest.TestCase):
         population = []
 
         # pylint: disable=unnecessary-comprehension
-        random_pairs = [p for p in match_making.random_nonrepeating_tuples(population, 2)]
+        random_pairs = [p for p in matchmaking.random_nonrepeating_tuples(population, 2)]
 
         self.assertEqual(len(random_pairs), 0)