diff --git a/modules/cloudinary_storage/cloudinary_storage.module b/modules/cloudinary_storage/cloudinary_storage.module
index 6d7a914..9fb279c 100644
--- a/modules/cloudinary_storage/cloudinary_storage.module
+++ b/modules/cloudinary_storage/cloudinary_storage.module
@@ -188,7 +188,7 @@ function cloudinary_storage_form_cloudinary_sdk_settings_alter(&$form, $form_sta
     '#default_value' => \Drupal::config('cloudinary_storage.settings')->get('cloudinary_storage_default'),
   );
 
-  // Unshfit exist storage clear checking.
+  // Unshift exist storage clear checking.
   array_unshift($form['#submit'], 'cloudinary_storage_settings_submit');
 }
 
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.info.yml b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.info.yml
index 3593833..6723bab 100644
--- a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.info.yml
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.info.yml
@@ -3,6 +3,6 @@ description: 'The module provides stores information in database for uploaded Cl
 package: Cloudinary
 core: 8.x
 dependencies:
-  - cloudinary_storage
-  - cloudinary
+  - cloudinary:cloudinary_storage
+  - cloudinary:cloudinary
 type: module
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.install b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.install
index bbf6442..4d055c0 100644
--- a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.install
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.install
@@ -5,10 +5,12 @@
  * Provides installation functions.
  */
 
+use Drupal\cloudinary_storage_db\CloudinaryStorageDb;
+
 /**
- * Implements hook_disable().
+ * Implements hook_uninstall().
  */
-function cloudinary_storage_db_disable() {
+function cloudinary_storage_db_uninstall() {
   // Delete all saved resource data in db.
   $storage = new CloudinaryStorageDb();
   $storage->clear();
@@ -18,32 +20,32 @@ function cloudinary_storage_db_disable() {
  * Implements hook_schema().
  */
 function cloudinary_storage_db_schema() {
-  $schema['cloudinary_storage'] = array(
+  $schema['cloudinary_storage'] = [
     'description' => 'Stores information for uploaded Cloudinary files.',
-    'fields' => array(
-      'public_id' => array(
+    'fields' => [
+      'public_id' => [
         'description' => 'The public_id of Cloudinary file.',
         'type' => 'varchar_ascii',
         'length' => 255,
         'not null' => TRUE,
         'default' => '',
-      ),
-      'mode' => array(
+      ],
+      'mode' => [
         'description' => 'The file mode, file or directory.',
         'type' => 'int',
         'unsigned' => TRUE,
         'not null' => TRUE,
         'default' => 0,
-      ),
-      'metadata' => array(
+      ],
+      'metadata' => [
         'description' => 'The file metadata.',
         'type' => 'text',
         'serialize' => TRUE,
         'not null' => FALSE,
-      ),
-    ),
+      ],
+    ],
     'primary key' => ['public_id'],
-  );
+  ];
 
   return $schema;
 }
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.module b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.module
index 7b83142..0e3e668 100644
--- a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.module
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.module
@@ -5,16 +5,14 @@
  * File for the cloudinary_storage_db module.
  */
 
-use Drupal\cloudinary_storage_db\CloudinaryStorageDb;
-
 /**
  * Implements hook_cloudinary_storage_info().
  */
 function cloudinary_storage_db_cloudinary_storage_info() {
-  return array(
-    'cloudinary_storage_db' => array(
+  return [
+    'cloudinary_storage_db' => [
       'title' => t('Database'),
       'class' => '\Drupal\cloudinary_storage_db\CloudinaryStorageDb',
-    ),
-  );
+    ],
+  ];
 }
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.services.yml b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.services.yml
index 0a3fc8a..17a36bd 100644
--- a/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.services.yml
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_db/cloudinary_storage_db.services.yml
@@ -1,4 +1,3 @@
 services:
   cloudinary_storage_db:
     class: Drupal\cloudinary_storage_db\CloudinaryStorageDb
-    #arguments: [@service_container]
diff --git a/modules/cloudinary_storage/modules/cloudinary_storage_db/src/CloudinaryStorageDb.php b/modules/cloudinary_storage/modules/cloudinary_storage_db/src/CloudinaryStorageDb.php
index 5f45d6f..2e46736 100644
--- a/modules/cloudinary_storage/modules/cloudinary_storage_db/src/CloudinaryStorageDb.php
+++ b/modules/cloudinary_storage/modules/cloudinary_storage_db/src/CloudinaryStorageDb.php
@@ -1,4 +1,5 @@
 <?php
+
 namespace Drupal\cloudinary_storage_db;
 
 use Drupal\cloudinary_storage\CloudinaryStorage;
@@ -12,53 +13,63 @@ use Drupal\cloudinary_storage\CloudinaryStorage;
  * Implements cloudinary storage with database.
  */
 class CloudinaryStorageDb extends CloudinaryStorage {
+
   /**
-   * Create or update cloudinary file resource into db.
+   * {@inheritdoc}
    */
-  protected function save($resource = array()) {
-    if (isset($resource['public_id']) && !empty($resource['mode'])) {
-      $data = array(
-        'public_id' => $resource['public_id'],
+  protected function save(array $resource = []) {
+    $public_id_key = self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID;
+
+    if (isset($resource[$public_id_key]) && !empty($resource['mode'])) {
+      $data = [
+        'public_id' => $resource[$public_id_key],
         'mode' => $resource['mode'],
         'metadata' => serialize($resource),
-      );
+      ];
 
-      db_merge('cloudinary_storage')
-        ->key(array('public_id' => $data['public_id']))
+      \Drupal::database()->merge(self::CLOUDINARY_STORAGE_TABLE_NAME)
+        ->keys([$public_id_key => $data[$public_id_key]])
         ->fields($data)
         ->execute();
     }
   }
 
   /**
-   * Delete cloudinary file resource from db.
+   * {@inheritdoc}
    */
-  protected function delete($public_id) {
-    db_delete('cloudinary_storage')
-      ->condition('public_id', $public_id)
+  protected function delete(string $public_id) {
+    \Drupal::database()->delete(self::CLOUDINARY_STORAGE_TABLE_NAME)
+      ->condition(self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID, $public_id)
       ->execute();
   }
 
   /**
-   * Delete cloudinary folder resource from db.
+   * {@inheritdoc}
    */
-  protected function deleteFolder($public_id) {
+  protected function deleteFolder(string $public_id) {
+    $db = \Drupal::database();
     // Only remove file and folder resource in this folder.
     // Cloudinary can not delete folder, parent folder update is not necessary.
-    db_delete('cloudinary_storage')
-      ->condition('public_id', db_like($public_id) . '%', 'LIKE')
+    $db->delete(self::CLOUDINARY_STORAGE_TABLE_NAME)
+      ->condition(self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID, $db->escapeLike($public_id) . '%', 'LIKE')
       ->execute();
   }
 
   /**
    * Load cloudinary file resource from db.
+   *
+   * @param string $public_id
+   *   Public id value.
+   *
+   * @return array
+   *   Resource data.
    */
-  protected function load($public_id) {
-    $resource = array();
+  protected function load(string $public_id) {
+    $resource = [];
 
-    $result = db_select('cloudinary_storage', 'cs')
+    $result = \Drupal::database()->select(self::CLOUDINARY_STORAGE_TABLE_NAME, 'cs')
       ->fields('cs')
-      ->condition('public_id', $public_id)
+      ->condition(self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID, $public_id)
       ->range(0, 1)
       ->execute()
       ->fetchObject();
@@ -74,7 +85,7 @@ class CloudinaryStorageDb extends CloudinaryStorage {
    * Clear all resources data from db.
    */
   public function clear() {
-    db_query('TRUNCATE {cloudinary_storage}');
+    \Drupal::database()->truncate(self::CLOUDINARY_STORAGE_TABLE_NAME);
   }
 
 }
diff --git a/modules/cloudinary_storage/src/CloudinaryStorage.php b/modules/cloudinary_storage/src/CloudinaryStorage.php
index 2e25796..fe1cf56 100644
--- a/modules/cloudinary_storage/src/CloudinaryStorage.php
+++ b/modules/cloudinary_storage/src/CloudinaryStorage.php
@@ -1,21 +1,40 @@
 <?php
+
 namespace Drupal\cloudinary_storage;
 
 /**
  * Abstract for cloudinary storage.
  */
 abstract class CloudinaryStorage {
+
+  /**
+   * Cloudinary storage field name.
+   */
+  const CLOUDINARY_STORAGE_NAME_PUBLIC_ID = 'public_id';
+
+  /**
+   * Cloudinary storage table name.
+   */
+  const CLOUDINARY_STORAGE_TABLE_NAME = 'cloudinary_storage';
+
   /**
    * A current file resource of Cloudinary.
    *
-   * @var Array
+   * @var array|null
    */
   protected $resource = NULL;
 
   /**
    * Object constructor.
+   *
+   * @param mixed $resource
+   *   Resource data. Can be a string, an array or null.
+   * @param bool $loaded
+   *   Boolean indicate, load or not load resource.
    */
-  public function __construct($resource = NULL, $loaded = TRUE) {
+  public function __construct($resource = NULL, bool $loaded = TRUE) {
+    $public_id = self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID;
+
     if (is_null($resource)) {
       return;
     }
@@ -26,46 +45,68 @@ abstract class CloudinaryStorage {
     elseif (is_string($resource)) {
       $this->resource = $this->load($resource);
     }
-    elseif (is_array($resource) && isset($resource['public_id'])) {
-      $this->resource = $this->load($resource['public_id']);
+    elseif (is_array($resource) && isset($resource[$public_id])) {
+      $this->resource = $this->load($resource[$public_id]);
     }
   }
 
   /**
    * Base implementation of getResource().
+   *
+   * @return array|null
+   *   The resource, when set.
    */
   public function getResource() {
     return $this->resource;
   }
 
   /**
-   * Insert or update resource.
+   * Create or update cloudinary file resource into db.
+   *
+   * @param array $resource
+   *   Resource data.
    */
-  abstract protected function save($resource);
+  abstract protected function save(array $resource);
 
   /**
-   * Delete resource by public_id.
+   * Delete cloudinary file resource from db.
+   *
+   * @param string $public_id
+   *   Public id value.
    */
-  abstract protected function delete($public_id);
+  abstract protected function delete(string $public_id);
 
   /**
    * Delete folder resource by public_id.
+   *
+   * @param string $public_id
+   *   Public id value.
    */
-  abstract protected function deleteFolder($public_id);
+  abstract protected function deleteFolder(string $public_id);
 
   /**
    * Load resource by public_id.
+   *
+   * @param string $public_id
+   *   Public id value.
+   *
+   * @return array
+   *   Resource data.
    */
-  abstract protected function load($public_id);
+  abstract protected function load(string $public_id);
 
   /**
-   * Preprae file or folder resource for folder update.
+   * Prepare file or folder resource for folder update.
+   *
+   * @param array $data
+   *   File or folder data.
+   * @param array $update
+   *   File or folder updated data.
+   *
+   * @return array
+   *   Prepared folder data.
    */
-  static protected function prepareFolderData($data, $update) {
-    if (empty($data) || !is_array($data)) {
-      $data = array();
-    }
-
+  protected static function prepareFolderData(array $data, array $update) {
     // Append new file or folder if not exist.
     if (isset($update[CLOUDINARY_STORAGE_NEW]) && !in_array($update[CLOUDINARY_STORAGE_NEW], $data)) {
       $data[] = $update[CLOUDINARY_STORAGE_NEW];
@@ -90,8 +131,15 @@ abstract class CloudinaryStorage {
 
   /**
    * Update child files or folders in folder resource.
+   *
+   * @param string $path
+   *   Path value.
+   * @param array $file
+   *   File data.
+   * @param array $folder
+   *   Folder data.
    */
-  public function folderUpdate($path, $file = array(), $folder = array()) {
+  public function folderUpdate(string $path, array $file = [], array $folder = []) {
     if ($path === FALSE) {
       return;
     }
@@ -121,8 +169,18 @@ abstract class CloudinaryStorage {
    * Remove old resource or save new resource.
    *
    * Return array with path and filename.
+   *
+   * @param bool $new
+   *   Boolean indicate.
+   * @param array|null $resource
+   *   Resource data.
+   *
+   * @return array
+   *   Return array with path and filename.
    */
-  public function resourceUpdate($new = TRUE, $resource = NULL) {
+  public function resourceUpdate(bool $new = TRUE, ?array $resource = NULL) {
+    $public_id = self::CLOUDINARY_STORAGE_NAME_PUBLIC_ID;
+
     if (!$resource) {
       $resource = $this->resource;
     }
@@ -130,8 +188,8 @@ abstract class CloudinaryStorage {
     $path = FALSE;
     $file = '';
 
-    if (isset($resource['public_id'])) {
-      $file = $resource['public_id'];
+    if (isset($resource[$public_id])) {
+      $file = $resource[$public_id];
       $path = dirname($file);
 
       // Append file format into filename.
@@ -146,15 +204,15 @@ abstract class CloudinaryStorage {
       }
       else {
         if ($resource['mode'] == CLOUDINARY_STREAM_WRAPPER_FOLDER) {
-          $this->deleteFolder($resource['public_id']);
+          $this->deleteFolder($resource[$public_id]);
         }
         elseif ($resource['mode'] == CLOUDINARY_STREAM_WRAPPER_FILE) {
-          $this->delete($resource['public_id']);
+          $this->delete($resource[$public_id]);
         }
       }
     }
 
-    return array($path, $file);
+    return [$path, $file];
   }
 
 }
