Index: src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java	(revision 7a0bf79dedf74d33b1f9bb8ce17b562e420e1fc6)
+++ src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java	(revision 7a0bf79dedf74d33b1f9bb8ce17b562e420e1fc6)
@@ -0,0 +1,39 @@
+package com.wediscussmovies.project.service.impl;
+
+import com.wediscussmovies.project.model.Genre;
+import com.wediscussmovies.project.repository.GenreRepository;
+import com.wediscussmovies.project.service.GenreService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class GenreServiceImpl implements GenreService {
+    private final GenreRepository genreRepository;
+
+    public GenreServiceImpl(GenreRepository genreRepository) {
+        this.genreRepository = genreRepository;
+    }
+
+    @Override
+    public Optional<Genre> findById(Integer id) {
+        return genreRepository.findById(id);
+    }
+
+    @Override
+    public List<Genre> findAllByType(String genre) {
+        return genreRepository.findAllByGenre_typeLike(genre);
+    }
+
+    @Override
+    public Genre save(String genreName) {
+        Genre genre = new Genre(genreName);
+        return genreRepository.save(genre);
+    }
+
+    @Override
+    public List<Genre> findAll() {
+        return genreRepository.findAll();
+    }
+}
Index: src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java	(revision 6e7b4721e1c9f389c67f55f48aab976c7eb4e7a9)
+++ src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java	(revision 7a0bf79dedf74d33b1f9bb8ce17b562e420e1fc6)
@@ -7,4 +7,5 @@
 
 import java.util.List;
+import java.util.Optional;
 
 @Service
@@ -22,6 +23,23 @@
 
     @Override
+    public Optional<Movie> findById(Integer id) {
+        return movieRepository.findById(id);
+    }
+
+    @Override
+    public Movie save(Movie movie) {
+        return movieRepository.save(movie);
+    }
+
+    @Override
+    public void deleteById(int id) {
+        movieRepository.deleteById(id);
+    }
+
+    @Override
     public List<Movie> searchByTitle(String title) {
         return movieRepository.findAllByTitleLike("%"+title+"%");
     }
 }
+
+
Index: src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java	(revision 7a0bf79dedf74d33b1f9bb8ce17b562e420e1fc6)
+++ src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java	(revision 7a0bf79dedf74d33b1f9bb8ce17b562e420e1fc6)
@@ -0,0 +1,40 @@
+package com.wediscussmovies.project.service.impl;
+
+import com.wediscussmovies.project.model.Person;
+import com.wediscussmovies.project.model.PersonType;
+import com.wediscussmovies.project.repository.PersonRepository;
+import com.wediscussmovies.project.service.PersonService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class PersonServiceImpl implements PersonService {
+    private final PersonRepository personRepository;
+
+    public PersonServiceImpl(PersonRepository personRepository) {
+        this.personRepository = personRepository;
+    }
+
+    @Override
+    public List<Person> findAllDirectors() {
+        return personRepository.findAllByPersonType(PersonType.D);
+    }
+
+    @Override
+    public Optional<Person> findActorById(Integer id) {
+        return personRepository.findPersonByPerson_idAndPersonType(id, PersonType.A);
+    }
+
+
+    @Override
+    public Optional<Person> findDirectorById(Integer id) {
+        return personRepository.findPersonByPerson_idAndPersonType(id, PersonType.D);
+    }
+
+    @Override
+    public List<Person> findAllActors() {
+        return personRepository.findAllByPersonType(PersonType.A);
+    }
+}
