diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java
index 43f64324097142b8c69b1f2c58a9b2c46a82cc03..92d4df3d6a9e71da15f05cc7f8f86394f8357be6 100644
--- a/opp/core/src/main/java/Repository.java
+++ b/opp/core/src/main/java/Repository.java
@@ -96,5 +96,7 @@ public interface Repository {
 
     void saveTeamMember(TeamMember TeamMember) throws Exception;
 
+    TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception;
+
     List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId);
 }
diff --git a/opp/core/src/main/java/TeamMemberImpl.java b/opp/core/src/main/java/TeamMemberImpl.java
index 418bc31a8cacc217020f41d0d5fa620eb734cdb7..a79d1e811544812bda30eb4acda89af61a74b701 100644
--- a/opp/core/src/main/java/TeamMemberImpl.java
+++ b/opp/core/src/main/java/TeamMemberImpl.java
@@ -31,13 +31,8 @@ public class TeamMemberImpl implements TeamMemberService{
         return teammember;
     }
 
-    private TeamMember removeStaffimpl(TeamMember.RemoveStaff rs) {
-        TeamMember teammember =
-                new TeamMember(
-                        rs.operationTeamId(),
-                        rs.opStaffId(),
-                        Instant.now()
-                );
-        return teammember;
+    private TeamMember removeStaffimpl(TeamMember.RemoveStaff rs) throws Exception {
+        return repo.removeTeamMember(rs.operationTeamId(), rs.opStaffId());
+
     }
 }
diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
index 890f49fa1a48e8ae3b17be166eef3ff80f453c0d..47135cf2f29ffb71c5898d16f1a36a18e11857b1 100644
--- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
+++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
@@ -659,6 +659,26 @@ class JDBCRepository implements Repository
     }
   }
 
+  public TeamMember removeTeamMember(Id<OperationTeam> operationTeamId, Id<OPStaff> opStaffId) throws Exception{
+
+    try(
+            var stmt = conn.createStatement()
+    ){
+      //TODO
+      /*var sql =
+              findOPStaff(opStaff.id()).isPresent() ?
+                      updateOPStaffSQL(opStaff) :
+                      insertOPStaffSQL(opStaff);*/
+      var sql = "DELETE FROM opStaffsInOperationTeams WHERE operationTeamId = '"+ operationTeamId.value() +"' AND opStaffId = '"+opStaffId.value()+"';";
+
+      stmt.executeUpdate(sql);
+
+    }catch(SQLException e){
+      throw new RuntimeException(e);
+    }
+    return null;
+  }
+
   @Override
   public List<OPStaff> getOperationTeamOPStaffImpl(Id<OperationTeam> operationTeamId){
 
diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java
index 4d7e5d0ae5899bdeb583f55e53c5bddc80f1da99..b196c1ba170cfa183d99fbbf82eb4d0a71020caf 100644
--- a/opp/jdbc-repo-impl/src/test/java/Tests.java
+++ b/opp/jdbc-repo-impl/src/test/java/Tests.java
@@ -333,7 +333,7 @@ public final class Tests
     OperationTeam deleteOperationTeam = operationTeamService.process(deleteCommand);
   }
 
-  @Test
+  //@Test
   public void testInsertTeamMember1() throws Exception{
 
     try {
@@ -343,6 +343,21 @@ public final class Tests
     }
   }
 
+  @Test
+  public void testRemoveTeamMember() throws Exception{
+
+    var opStaffId = new Id<OPStaff>("4444");
+    var operationTeamId = new Id<OperationTeam>("31");
+
+    TeamMember.RemoveStaff deleteCommand = new TeamMember.RemoveStaff(
+            operationTeamId,
+            opStaffId
+    );
+
+    TeamMember deleteTeamMember = teamMemberService.process(deleteCommand);
+
+  }
+
   //@Test
   public void testGetOperationTeam() throws Exception{