diff --git a/media_entity_flickr.info.yml b/media_entity_flickr.info.yml
index e4abdba..ce3c3c2 100644
--- a/media_entity_flickr.info.yml
+++ b/media_entity_flickr.info.yml
@@ -9,5 +9,6 @@ dependencies:
 # Information added by Drupal.org packaging script on 2018-01-12
 version: '8.x-4.0-alpha4'
 core: '8.x'
+core_version_requirement: ^8 || ^9
 project: 'media_entity_flickr'
 datestamp: 1515765790
diff --git a/media_entity_flickr.install b/media_entity_flickr.install
index d9567e2..4152fcf 100644
--- a/media_entity_flickr.install
+++ b/media_entity_flickr.install
@@ -4,6 +4,7 @@
  * @file
  * Install, uninstall and update hooks for Media entity Flickr module.
  */
+use Drupal\Core\File\FileSystemInterface;
 
 /**
  * Implements hook_install().
@@ -11,11 +12,11 @@
 function media_entity_flickr_install() {
   $source = drupal_get_path('module', 'media_entity_flickr') . '/images/icons';
   $destination = \Drupal::config('media.settings')->get('icon_base_uri');
-  file_prepare_directory($destination, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
+  \Drupal::service('file_system')->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
 
   // TODO As we are only copying a single icon file,
   // replace the dir scan with a single file.
-  $files = file_scan_directory($source, '/.*\.(png)$/');
+  $files = \Drupal::service('file_system')->scanDirectory($source, '/.*\.(png)$/');
   foreach ($files as $file) {
     // When reinstalling the Media entity Flickr module we don't want to copy
     // the icons when they already exist. The icons could be replaced (by a
@@ -25,7 +26,7 @@ function media_entity_flickr_install() {
     // was not possible to copy the files is also confusing, we silently do
     // nothing.
     if (!file_exists($destination . DIRECTORY_SEPARATOR . $file->filename)) {
-      file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR);
+      \Drupal::service('file_system')->copy($file->uri, $destination, FileSystemInterface::EXISTS_ERROR);
     }
   }
 
@@ -47,7 +48,7 @@ function media_entity_flickr_requirements($phase) {
   $requirements = [];
   if ($phase == 'install') {
     $destination = \Drupal::config('media.settings')->get('icon_base_uri');
-    file_prepare_directory($destination, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
+    \Drupal::service('file_system')->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
     $is_writable = is_writable($destination);
     $is_directory = is_dir($destination);
     if (!$is_writable || !$is_directory) {
diff --git a/src/Plugin/media/Source/Flickr.php b/src/Plugin/media/Source/Flickr.php
index 2bb1a97..e226063 100644
--- a/src/Plugin/media/Source/Flickr.php
+++ b/src/Plugin/media/Source/Flickr.php
@@ -12,6 +12,7 @@ use Drupal\media\MediaTypeInterface;
 use Drupal\media\MediaSourceFieldConstraintsInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Drupal\Core\Field\FieldTypePluginManagerInterface;
+use Drupal\Core\File\FileSystemInterface;
 
 /**
  * Provides media type plugin for Flickr.
@@ -163,7 +164,7 @@ class Flickr extends MediaSourceBase implements MediaSourceFieldConstraintsInter
           else {
             $directory = $this->configFactory->get('media_entity_flickr.settings')->get('local_images');
             if (!file_exists($directory)) {
-              file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
+              \Drupal::service('file_system')->prepareDirectory($directory, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
             }
 
             $image_url = $this->getMetadata($media, 'thumbnail');
@@ -171,7 +172,7 @@ class Flickr extends MediaSourceBase implements MediaSourceFieldConstraintsInter
             // TODO Changeme with Guzzle
             $image_data = file_get_contents($image_url);
             if ($image_data) {
-              return file_unmanaged_save_data($image_data, $local_uri, FILE_EXISTS_REPLACE);
+              return \Drupal::service('file_system')->saveData($image_data, $local_uri, FileSystemInterface::EXISTS_REPLACE);
             }
           }
         }
