diff --git a/backend-services/friend-service/src/Friends/FriendManager.ts b/backend-services/friend-service/src/Friends/FriendManager.ts
new file mode 100644
index 0000000000000000000000000000000000000000..96b1d4c9306f30b6fef0a28e7a9d6755268269d0
--- /dev/null
+++ b/backend-services/friend-service/src/Friends/FriendManager.ts
@@ -0,0 +1,21 @@
+import FriendDataStore from "../Datastores/FriendDataStore";
+import { Friend } from "../Types/Friend";
+
+/**
+ * Class to handle all friend functionality
+ */
+export class FriendManager {
+
+  public AddFriend = async (user1: string, user2: string): Promise<Friend> => {
+    return await FriendDataStore.newFriend(user1, user2);
+  }
+
+  public GetFriendIds = async (userId: string): Promise<string[]> => {
+    const friends = await FriendDataStore.getFriends(userId);
+    return friends.friends1.map(f => f.User2).concat(friends.friends2.map(f => f.User1));
+  }
+
+  public RemoveFriend = async (user1: string, user2: string): Promise<void> => {
+    return await FriendDataStore.RemoveFriend(user1, user2);
+  }
+}
\ No newline at end of file