diff --git a/src/main/java/com/yatl/controller/TodoController.java b/src/main/java/com/yatl/controller/TodoController.java
new file mode 100644
index 0000000000000000000000000000000000000000..d4bb39f47280f8fcaa2c3c547d56a4200bfef09a
--- /dev/null
+++ b/src/main/java/com/yatl/controller/TodoController.java
@@ -0,0 +1,29 @@
+package com.yatl.controller;
+
+import java.sql.SQLException;
+import java.util.List;
+
+import com.yatl.dao.TodoDao;
+import com.yatl.model.Todo;
+
+import io.javalin.http.Context;
+
+public class TodoController {
+
+	TodoDao todoDao;
+
+	public TodoController(TodoDao todoDao) {
+		this.todoDao = todoDao;
+	}
+
+	public void getAllTodos(Context ctx) {
+		try {
+			List<Todo> todos = todoDao.getAll();
+			ctx.json(todos);
+		} catch (SQLException e) {
+			ctx.status(500);
+			ctx.result("Internal server error");
+		}
+	}
+
+}
diff --git a/src/main/java/com/yatl/controller/package-info.java b/src/main/java/com/yatl/controller/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc1abff472aca3be2082425e707d908452231c1f
--- /dev/null
+++ b/src/main/java/com/yatl/controller/package-info.java
@@ -0,0 +1 @@
+package com.yatl.controller;
\ No newline at end of file