diff --git a/composer.json b/composer.json
index cbe185242bfb28214cce6947df2132155b5730fd..a68eedb27dc7201f232d8695121a3df0f0299d6d 100644
--- a/composer.json
+++ b/composer.json
@@ -3,12 +3,20 @@
     "description": "The  files_to_media_migrate allows user to migrate files entity to media entity with drush command",
     "type": "drupal-module",
     "license": "GPL-2.0-or-later",
-    "minimum-stability": "stable",
     "authors": [
         {
             "name": "Vivek kumar",
             "email": "vivekkumar.lnweb@gmail.com"
         }
     ],
-    "require": {}
+    "homepage": "https://drupal.org/project/files_to_media_migrate",
+    "support": {
+        "issues": "https://www.drupal.org/project/issues/files_to_media_migrate",
+        "source": "https://git.drupalcode.org/project/files_to_media_migrate"
+    },
+    "require": {
+        "drupal/core": "^8.8 || ^9 || ^10 || ^11"
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true
 }
diff --git a/files_to_media_migrate.info.yml b/files_to_media_migrate.info.yml
index ade055161c70e97a6f31ae7683abb8ac805fef98..2f9996ce9b3ada7ed560f7a08ef5f74022e988c9 100644
--- a/files_to_media_migrate.info.yml
+++ b/files_to_media_migrate.info.yml
@@ -2,7 +2,7 @@ name: Files To Media Migrate
 type: module
 description: Migrate file fields to media fields using Drush batch Command.
 package: Migration
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 dependencies:
   - drupal:media
   - drupal:media_library
diff --git a/files_to_media_migrate.module b/files_to_media_migrate.module
index 80cd03532449783eceb6386478cd1f45571ad837..ac1d228987e5c8ba76593bdfde302a009bdf9e64 100644
--- a/files_to_media_migrate.module
+++ b/files_to_media_migrate.module
@@ -29,10 +29,10 @@ function files_to_media_migrate_help($route_name, RouteMatchInterface $route_mat
 function files_to_media_migrate_migrating_files_to_media($entity_id, $field_name, $type, $entity_type) {
 
   // Media field name.
-  $field_name_length = strlen($field_name);
+  $field_name_length = mb_strlen($field_name);
   $new_field = $field_name;
   if ($field_name_length >= 29) {
-    $new_field = substr_replace($field_name, "", -6);
+    $new_field = mb_substr($field_name, "", -6);
 
   }
   $media_field_name = $new_field . '_media';
diff --git a/src/Commands/FilesToMediaMigrate.php b/src/Commands/FilesToMediaMigrate.php
index 0ace57a56ff56e4e62f2eb030ed8f36553c611ff..b19bdb6d550f9554991c94248922c8b2ba837293 100644
--- a/src/Commands/FilesToMediaMigrate.php
+++ b/src/Commands/FilesToMediaMigrate.php
@@ -9,7 +9,7 @@ use Drupal\Core\Entity\EntityFieldManagerInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
-use Drupal\Core\Logger\LoggerChannelFactory;
+use Drupal\Core\Logger\LoggerChannelFactoryInterface;
 
 /**
  * A drush command file.
@@ -61,7 +61,7 @@ class FilesToMediaMigrate extends DrushCommands {
    *   The Entity Field Manager Interface.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The Entity Entity TypeManager Interface.
-   * @param Drupal\Core\Database\Connection $database
+   * @param \Drupal\Core\Database\Connection $database
    *   The $database.
    * @param \Drupal\Core\Logger\LoggerChannelFactory $loggerFactory
    *   The logger channel factory.
@@ -70,7 +70,7 @@ class FilesToMediaMigrate extends DrushCommands {
     EntityFieldManagerInterface $entityFieldManager,
     EntityTypeManagerInterface $entity_type_manager,
     Connection $database,
-    LoggerChannelFactory $loggerFactory
+    LoggerChannelFactoryInterface $loggerFactory
   ) {
     $this->entityFieldManager = $entityFieldManager;
     $this->entityTypeManager = $entity_type_manager;
@@ -106,7 +106,7 @@ class FilesToMediaMigrate extends DrushCommands {
 
     $source_fields = [];
     if (empty($map)) {
-      $this->loggerFactory->notice("Media field doesn't created, Please check your field_type and target_media_bundle.");
+      $this->loggerFactory->get('file_to_media')->notice("Media field doesn't created, Please check your field_type and target_media_bundle.");
       return;
     }
 
@@ -119,7 +119,7 @@ class FilesToMediaMigrate extends DrushCommands {
       }
     }
     // Create missing fields.
-    $missing_fields = array_diff_key($source_fields);
+    $missing_fields = array_diff_key($source_fields, $all_bundle_fields);
     foreach ($missing_fields as $new_field_name => $field) {
       try {
         $existingField = $this->entityTypeManager->getStorage('field_config')->load($new_field_name, $entity_type);