diff --git a/trackeroo/lib/logic/services/categories_controller.dart b/trackeroo/lib/logic/services/categories_controller.dart
index 6033d41b903192a10a6052c800685ec3c8a3b1f6..3815d1496e1d16a811c95a4758b6b4392ed69004 100644
--- a/trackeroo/lib/logic/services/categories_controller.dart
+++ b/trackeroo/lib/logic/services/categories_controller.dart
@@ -7,18 +7,34 @@ class CategoriesController {
   Box<Category> catBox;
   Map<dynamic, Category> categories;
 
-  void saveCategory() {
-    // TODO: implement save categories function
-    return;
+  Future<bool> saveCategory(Category category) async {
+    // String id = category.title.replaceAll(' ', '_').toLowerCase();
+    try {
+      await catBox.put(category.id, category);
+      categories[category.id] = category;
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 
-  void updateCategory() {
-    // TODO: implement update category
-    return;
+  Future<bool> updateCategory(Category category) async {
+    try {
+      await catBox.put(category.id, category);
+      categories[category.id] = category;
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 
-  void deleteCategory() {
-    // TODO: implement read categories function
-    return;
+  Future<bool> deleteCategory(String id) async {
+    try {
+      await catBox.delete(id);
+      categories.remove(id);
+    } catch (e) {
+      return false;
+    }
+    return true;
   }
 }