diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java b/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java
new file mode 100644
index 0000000000000000000000000000000000000000..e5e32546579bcbace3b29feb5b8c8446268c2660
--- /dev/null
+++ b/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java
@@ -0,0 +1,66 @@
+package com.s3ai.controllers.tickets;
+
+import com.s3ai.entities.Ticket;
+import com.s3ai.services.CinemaService;
+import com.s3ai.services.TicketService;
+import com.s3ai.services.UserService;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.IOException;
+import java.util.UUID;
+
+public class TicketsEdit extends HttpServlet {
+    TicketService ticketService = TicketService.getInstance();
+    CinemaService cinemaService = CinemaService.getInstance();
+    UserService userService = UserService.getInstance();
+
+    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        Ticket ticket = null;
+        String id = req.getParameter("id");
+        String userId = req.getParameter("userId") == null ? "" : req.getParameter("userId");
+        String cinemaId = req.getParameter("cinemaId") == null ? "" : req.getParameter("cinemaId");
+        String movie = req.getParameter("movie") == null ? "" : req.getParameter("movie");
+
+        var user = userService.getUserById(UUID.fromString(userId));
+        var cinema = cinemaService.getCinemaById(UUID.fromString(cinemaId));
+
+        if (null == user){
+            resp.sendError(500, "Invalid userId");
+        }
+
+        if (null == cinema){
+            resp.sendError(500, "Invalid cinemaId");
+        }
+
+        if (null == id) {
+            ticket = new Ticket();
+            ticket.setId(UUID.randomUUID());
+            ticketService.fillTicketFields(ticket, user, cinema, movie);
+            ticketService.saveTicket(ticket);
+        } else {
+            ticket = ticketService.getTicketById(UUID.fromString(id));
+            ticketService.fillTicketFields(ticket, user, cinema, movie);
+            ticketService.saveTicket(ticket);
+        }
+        resp.sendRedirect("/tickets");
+    }
+
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        HttpSession session = req.getSession();
+        String idToEdit = req.getParameter("id");
+        Ticket ticket = null;
+        RequestDispatcher dispatcher = req.getRequestDispatcher("/pages/tickets/edit.jsp");
+        if (idToEdit != null) {
+            ticket = ticketService.getTicketById(UUID.fromString(idToEdit));
+        } else {
+            ticket = new Ticket();
+        }
+        session.setAttribute("ticket", ticket);
+        dispatcher.forward(req, resp);
+    }
+}
diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java b/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java
new file mode 100644
index 0000000000000000000000000000000000000000..af1768bd5cac602b959168c421830c8e77937cfa
--- /dev/null
+++ b/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java
@@ -0,0 +1,47 @@
+package com.s3ai.controllers.tickets;
+
+import com.s3ai.entities.Ticket;
+import com.s3ai.services.CinemaService;
+import com.s3ai.services.TicketService;
+import com.s3ai.services.UserService;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Random;
+
+public class TicketsFill extends HttpServlet {
+    TicketService ticketService = TicketService.getInstance();
+    UserService userService = UserService.getInstance();
+    CinemaService cinemaService = CinemaService.getInstance();
+
+    private String[] wordsFirst = new String[] {"Pirates", "Ladies", "Goblins", "Gangsters", "Programmers", "Hackers", "Wrestlers", "Animals", "Guardians"};
+    private String[] wordsSecond = new String[] {"of the", "in", "from"};
+    private String[] wordsThird = new String[] {"Galaxy", "America", "Russia", "Japan", "Ocean", "Deep", "Caribbean", "Matrix", "Internet", "Woods", "Caves"};
+
+    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+    }
+
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        var users = userService.getAllUsers();
+        var cinemas = cinemaService.getAllCinemas();
+
+        var writer = response.getWriter();
+        writer.println("FILLED Instances:");
+        var random = new Random();
+        for (int i = 0; i < 300; i++) {
+            var ticket = new Ticket();
+            ticketService.fillTicketFields(ticket, users.get(random.nextInt(users.size())), cinemas.get(random.nextInt(cinemas.size())), randomMovieName());
+            ticketService.saveTicket(ticket);
+            writer.println(ticket);
+        }
+    }
+
+    private String randomMovieName() {
+        var random = new Random();
+        return String.format("%s %s %s", wordsFirst[random.nextInt(wordsFirst.length)], wordsSecond[random.nextInt(wordsSecond.length)], wordsThird[random.nextInt(wordsThird.length)]);
+    }
+}
diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsList.java b/src/main/java/com/s3ai/controllers/tickets/TicketsList.java
index 9e8da3ab2857dbb0fd1aa8be838f6b5c26190127..7fd92494b7b091e11c14fb85eb3ab934202ab853 100644
--- a/src/main/java/com/s3ai/controllers/tickets/TicketsList.java
+++ b/src/main/java/com/s3ai/controllers/tickets/TicketsList.java
@@ -1,4 +1,28 @@
 package com.s3ai.controllers.tickets;
 
+import com.s3ai.entities.Ticket;
+import com.s3ai.services.TicketService;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.UUID;
+
 public class TicketsList {
+    private TicketService ticketService = TicketService.getInstance();
+
+    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        String id = request.getReader().readLine();
+        Ticket ticket = ticketService.getTicketById(UUID.fromString(id));
+        ticketService.deleteTicket(ticket);
+    }
+
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        System.out.println("doGet");
+        RequestDispatcher dispatcher = request.getRequestDispatcher("pages/tickets/list.jsp");
+        request.getSession().setAttribute("tickets", ticketService.getAllTickets());
+        dispatcher.forward(request, response);
+    }
 }
diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java b/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java
deleted file mode 100644
index 35d08a4ff39207d65cb7bf88e074a5c39786c811..0000000000000000000000000000000000000000
--- a/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.s3ai.controllers.tickets;
-
-public class TicketsUpdate {
-}
diff --git a/src/main/java/com/s3ai/controllers/users/UsersEdit.java b/src/main/java/com/s3ai/controllers/users/UsersEdit.java
new file mode 100644
index 0000000000000000000000000000000000000000..3b6ebce11cd2ecba63b635b78ed5fea3c423db86
--- /dev/null
+++ b/src/main/java/com/s3ai/controllers/users/UsersEdit.java
@@ -0,0 +1,49 @@
+package com.s3ai.controllers.users;
+
+import com.s3ai.entities.User;
+import com.s3ai.services.UserService;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.IOException;
+import java.util.UUID;
+
+public class UsersEdit extends HttpServlet {
+    UserService userService = UserService.getInstance();
+
+    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        String id = req.getParameter("id");
+        User user = null;
+        String name = req.getParameter("name") == null ? "" : req.getParameter("name");
+        Integer age = Integer.parseInt(req.getParameter("age") == null ? "" : req.getParameter("age"));
+        if (null == id) {
+            user = new User();
+            user.setId(UUID.randomUUID());
+            userService.fillUserFields(user, name, age);
+            userService.saveUser(user);
+        } else {
+            user = userService.getUserById(UUID.fromString(id));
+            userService.fillUserFields(user, name, age);
+            userService.saveUser(user);
+        }
+        resp.sendRedirect("/users");
+    }
+
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        HttpSession session = req.getSession();
+        String idToEdit = req.getParameter("id");
+        User user = null;
+        RequestDispatcher dispatcher = req.getRequestDispatcher("/pages/users/edit.jsp");
+        if (idToEdit != null) {
+            user = userService.getUserById(UUID.fromString(idToEdit));
+        } else {
+            user = new User();
+        }
+        session.setAttribute("user", user);
+        dispatcher.forward(req, resp);
+    }
+}
diff --git a/src/main/java/com/s3ai/controllers/users/UsersFill.java b/src/main/java/com/s3ai/controllers/users/UsersFill.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c32ed5cba2274beac58dfe8b9ea18e7527249ed
--- /dev/null
+++ b/src/main/java/com/s3ai/controllers/users/UsersFill.java
@@ -0,0 +1,39 @@
+package com.s3ai.controllers.users;
+
+import com.s3ai.entities.User;
+import com.s3ai.services.UserService;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Random;
+
+public class UsersFill extends HttpServlet {
+    UserService userService = UserService.getInstance();
+
+    private String[] names = new String[] {"Jane", "Mary", "Paul", "Jason", "Keanu", "Andrew", "Joseph", "Jotaro", "Ivan", "Jolyne", "Walther"};
+    private String[] surnames = new String[] {"Doe", "Reeves", "Statham", "Bourne", "Joestar", "Kujoh", "White", "Van Hallen", "Black", "Smith"};
+
+    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+    }
+
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        var writer = response.getWriter();
+        writer.println("FILLED Instances:");
+        var random = new Random();
+        for (int i = 0; i < 300; i++) {
+            var user = new User();
+            userService.fillUserFields(user, randomName(), random.nextInt(60) + 10);
+            userService.saveUser(user);
+            writer.println(user);
+        }
+    }
+
+    private String randomName() {
+        var random = new Random();
+        return String.format("%s %s", names[random.nextInt(names.length)], surnames[random.nextInt(surnames.length)]);
+    }
+}
diff --git a/src/main/java/com/s3ai/controllers/users/UsersList.java b/src/main/java/com/s3ai/controllers/users/UsersList.java
index 22330efb0cdd073231ba465853765ee1cb3f3b51..7a8094de65bf8d022f0691ff9c62c83847e46d39 100644
--- a/src/main/java/com/s3ai/controllers/users/UsersList.java
+++ b/src/main/java/com/s3ai/controllers/users/UsersList.java
@@ -1,4 +1,29 @@
 package com.s3ai.controllers.users;
 
-public class UsersList {
+import com.s3ai.entities.User;
+import com.s3ai.services.UserService;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.UUID;
+
+public class UsersList extends HttpServlet {
+    private UserService userService = UserService.getInstance();
+
+    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        String id = request.getReader().readLine();
+        User user = userService.getUserById(UUID.fromString(id));
+        userService.deleteUser(user);
+    }
+
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        System.out.println("doGet");
+        RequestDispatcher dispatcher = request.getRequestDispatcher("pages/users/list.jsp");
+        request.getSession().setAttribute("users", userService.getAllUsers());
+        dispatcher.forward(request, response);
+    }
 }
diff --git a/src/main/java/com/s3ai/controllers/users/UsersUpdate.java b/src/main/java/com/s3ai/controllers/users/UsersUpdate.java
deleted file mode 100644
index 281cbbf1a33d7382872afabdd0a699c9f306d51c..0000000000000000000000000000000000000000
--- a/src/main/java/com/s3ai/controllers/users/UsersUpdate.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.s3ai.controllers.users;
-
-public class UsersUpdate {
-}