Repository: ihnokim/codepack (language: python)

Issue:
Make minor corrections



Discussion / hints:

Fix patch:
diff --git a/README.rst b/README.rst
index c16fe48..3c7c5c1 100644
--- a/README.rst
+++ b/README.rst
@@ -185,12 +185,12 @@ Use these guys everywhere!
 
 There are many plugins to manage Codes, CodePacks, and ArgPacks.
 You can easily configure the plugins by using a
-`configuration file <https://github.com/ihnokim/codepack/blob/master/config/codepack.ini>`_
+`configuration file <https://github.com/ihnokim/codepack/blob/master/utils/config/codepack.ini>`_
 or adding some OS environment variables.
 If you don't specify any configuration files,
 CodePack uses the
-`default configuration file <https://github.com/ihnokim/codepack/blob/master/codepack/config/default/default.ini>`_
-located at :code:`codepack/config/default/default.ini`.
+`default configuration file <https://github.com/ihnokim/codepack/blob/master/codepack/utils/config/default/default.ini>`_
+located at :code:`codepack/utils/config/default/default.ini`.
 The default configuration file can be replaced with your custom configuration file
 by adding an OS environment variable: :code:`CODEPACK_CONFIG_PATH=/path/to/your-configuration-file.ini`.
 
@@ -233,7 +233,7 @@ The configuration is accessible from code via :code:`Config` and :code:`Default`
 .. code-block:: python
 
   from codepack import Config, Default
-  from codepack.interface import MongoDB
+  from codepack.interfaces import MongoDB
 
   config = Config()
   mongodb_config = config.get_config('mongodb')
diff --git a/app/apiserver/dependencies/__init__.py b/app/apiserver/dependencies/__init__.py
index e0c935e..ab067ed 100644
--- a/app/apiserver/dependencies/__init__.py
+++ b/app/apiserver/dependencies/__init__.py
@@ -1,4 +1,4 @@
-from codepack.utils import Common
+from codepack import Common
 
 
 common = Common()
diff --git a/app/apiserver/main.py b/app/apiserver/main.py
index 54dd8a5..304f5dc 100644
--- a/app/apiserver/main.py
+++ b/app/apiserver/main.py
@@ -1,5 +1,5 @@
 from codepack import Scheduler, Default
-from codepack.plugin.service import Service
+from codepack.plugins.service import Service
 from fastapi import FastAPI, Request
 from .routers import code, codepack, argpack, scheduler
 from .dependencies import common
diff --git a/app/scheduler/dependencies/__init__.py b/app/scheduler/dependencies/__init__.py
index e0c935e..ab067ed 100644
--- a/app/scheduler/dependencies/__init__.py
+++ b/app/scheduler/dependencies/__init__.py
@@ -1,4 +1,4 @@
-from codepack.utils import Common
+from codepack import Common
 
 
 common = Common()
diff --git a/app/scheduler/main.py b/app/scheduler/main.py
index 4e0b734..9916144 100644
--- a/app/scheduler/main.py
+++ b/app/scheduler/main.py
@@ -1,5 +1,5 @@
 from codepack import Scheduler, Default
-from codepack.plugin.service import Service
+from codepack.plugins.service import Service
 from fastapi import FastAPI, Request
 from .routers import scheduler
 from .dependencies import common
diff --git a/codepack/__init__.py b/codepack/__init__.py
index 36bf1e8..0139ec1 100644
--- a/codepack/__init__.py
+++ b/codepack/__init__.py
@@ -1,32 +1,31 @@
 from .code import Code
 from .codepack import CodePack
+from .arg import Arg
+from .argpack import ArgPack
 
-from .plugin.worker import Worker
-from .plugin.supervisor import Supervisor
-from .plugin.docker_manager import DockerManager
-from .plugin.interpreter_manager import InterpreterManager
-from .plugin.dependency_bag import DependencyBag
-from .plugin.dependency_monitor import DependencyMonitor
-from .plugin.storage_service import StorageService
-from .plugin.snapshot_service import SnapshotService
-from .plugin.delivery_service import DeliveryService
-from .plugin.callback_service import CallbackService
-from .plugin.scheduler import Scheduler
-from .plugin.jobstore import JobStore
-from .plugin.storable_job import StorableJob
+from .utils.config.config import Config
+from .utils.config.default import Default
+from .utils.config.alias import Alias
+from .utils.looper import Looper
+from .utils.common import Common
 
-from .snapshot.state import State
-from .snapshot.snapshot import Snapshot
-from .snapshot.code_snapshot import CodeSnapshot
-from .snapshot.codepack_snapshot import CodePackSnapshot
-
-from .dependency.dependency import Dependency
-from .delivery.delivery import Delivery
-from .callback.callback import Callback
-
-from codepack.arg import Arg
-from codepack.argpack import ArgPack
-
-from .config.config import Config
-from .config.default import Default
-from .config.alias import Alias
+from .plugins.worker import Worker
+from .plugins.supervisor import Supervisor
+from .plugins.docker_manager import DockerManager
+from .plugins.interpreter_manager import InterpreterManager
+from .plugins.dependency_bag import DependencyBag
+from .plugins.dependency_monitor import DependencyMonitor
+from .plugins.storage_service import StorageService
+from .plugins.snapshot_service import SnapshotService
+from .plugins.delivery_service import DeliveryService
+from .plugins.callback_service import CallbackService
+from .plugins.scheduler import Scheduler
+from .plugins.jobstore import JobStore
+from .plugins.storable_job import StorableJob
+from .plugins.dependency import Dependency
+from .plugins.delivery import Delivery
+from .plugins.callback import Callback
+from .plugins.snapshots.snapshot import Snapshot
+from .plugins.snapshots.code_snapshot import CodeSnapshot
+from .plugins.snapshots.codepack_snapshot import CodePackSnapshot
+from .plugins.state import State
diff --git a/codepack/arg.py b/codepack/arg.py
index 1306fe0..86b9128 100644
--- a/codepack/arg.py
+++ b/codepack/arg.py
@@ -1,4 +1,4 @@
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from typing import Optional, Any, TypeVar, Iterator
 
 
diff --git a/codepack/argpack.py b/codepack/argpack.py
index 76e5544..ea5df91 100644
--- a/codepack/argpack.py
+++ b/codepack/argpack.py
@@ -1,5 +1,5 @@
 from codepack.arg import Arg
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from typing import Optional, TypeVar, Union, Iterator
 
 
diff --git a/codepack/base/code_base.py b/codepack/base/code_base.py
index d4f8ad2..11704a2 100644
--- a/codepack/base/code_base.py
+++ b/codepack/base/code_base.py
@@ -1,5 +1,5 @@
-from codepack.storage.storable import Storable
-from codepack.snapshot.snapshotable import Snapshotable
+from codepack.storages.storable import Storable
+from codepack.plugins.snapshots.snapshotable import Snapshotable
 from collections.abc import Callable
 from collections import OrderedDict
 import abc
diff --git a/codepack/base/codepack_base.py b/codepack/base/codepack_base.py
index e27be21..2ba792e 100644
--- a/codepack/base/codepack_base.py
+++ b/codepack/base/codepack_base.py
@@ -1,5 +1,5 @@
-from codepack.storage.storable import Storable
-from codepack.snapshot.snapshotable import Snapshotable
+from codepack.storages.storable import Storable
+from codepack.plugins.snapshots.snapshotable import Snapshotable
 import abc
 from typing import Optional
 
diff --git a/codepack/code.py b/codepack/code.py
index fd0f2e6..68196f6 100644
--- a/codepack/code.py
+++ b/codepack/code.py
@@ -1,18 +1,18 @@
-from codepack.config.default import Default
+from codepack.utils.config.default import Default
 from codepack.base.code_base import CodeBase
-from codepack.dependency.dependency import Dependency
-from codepack.plugin.dependency_bag import DependencyBag
-from codepack.callback.callback import Callback
+from codepack.plugins.dependency import Dependency
+from codepack.plugins.dependency_bag import DependencyBag
+from codepack.plugins.callback import Callback
 from collections.abc import Iterable, Callable
 from functools import partial
 from typing import Any, TypeVar, Union, Optional
 
 
-CodeSnapshot = TypeVar('CodeSnapshot', bound='codepack.snapshot.code_snapshot.CodeSnapshot')
-DeliveryService = TypeVar('DeliveryService', bound='codepack.plugin.delivery_service.DeliveryService')
-SnapshotService = TypeVar('SnapshotService', bound='codepack.plugin.snapshot_service.SnapshotService')
-StorageService = TypeVar('StorageService', bound='codepack.plugin.storage_service.StorageService')
-State = TypeVar('State', bound='codepack.snapshot.state.State')
+CodeSnapshot = TypeVar('CodeSnapshot', bound='codepack.plugins.snapshots.code_snapshot.CodeSnapshot')
+DeliveryService = TypeVar('DeliveryService', bound='codepack.plugins.delivery_service.DeliveryService')
+SnapshotService = TypeVar('SnapshotService', bound='codepack.plugins.snapshot_service.SnapshotService')
+StorageService = TypeVar('StorageService', bound='codepack.plugins.storage_service.StorageService')
+State = TypeVar('State', bound='codepack.plugins.state.State')
 
 
 class Code(CodeBase):
diff --git a/codepack/codepack.py b/codepack/codepack.py
index c694494..148e204 100644
--- a/codepack/codepack.py
+++ b/codepack/codepack.py
@@ -1,17 +1,17 @@
 from codepack.code import Code
 from codepack.base.codepack_base import CodePackBase
 from codepack.argpack import ArgPack
-from codepack.config.default import Default
-from codepack.snapshot.state import State
+from codepack.utils.config.default import Default
+from codepack.plugins.state import State
 from parse import compile as parser
 from ast import literal_eval
 from queue import Queue
 from typing import Any, TypeVar, Optional, Union
 
 
-CodePackSnapshot = TypeVar('CodePackSnapshot', bound='codepack.snapshot.codepack_snapshot.CodePackSnapshot')
-SnapshotService = TypeVar('SnapshotService', bound='codepack.plugin.snapshot_service.SnapshotService')
-StorageService = TypeVar('StorageService', bound='codepack.plugin.storage_service.StorageService')
+CodePackSnapshot = TypeVar('CodePackSnapshot', bound='codepack.plugins.snapshots.codepack_snapshot.CodePackSnapshot')
+SnapshotService = TypeVar('SnapshotService', bound='codepack.plugins.snapshot_service.SnapshotService')
+StorageService = TypeVar('StorageService', bound='codepack.plugins.storage_service.StorageService')
 
 
 class CodePack(CodePackBase):
diff --git a/codepack/config/default/alias.ini b/codepack/config/default/alias.ini
deleted file mode 100644
index 3bbf883..0000000
--- a/codepack/config/default/alias.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-[alias]
-code = codepack.code.Code
-codepack = codepack.codepack.CodePack
-arg = codepack.arg.Arg
-argpack = codepack.argpack.ArgPack
-code_snapshot = codepack.snapshot.code_snapshot.CodeSnapshot
-codepack_snapshot = codepack.snapshot.codepack_snapshot.CodePackSnapshot
-delivery = codepack.delivery.delivery.Delivery
-callback = codepack.callback.callback.Callback
-storage_service = codepack.plugin.storage_service.StorageService
-delivery_service = codepack.plugin.delivery_service.DeliveryService
-snapshot_service = codepack.plugin.snapshot_service.SnapshotService
-callback_service = codepack.plugin.callback_service.CallbackService
-mongo_scheduler = codepack.plugin.mongo_scheduler.MongoScheduler
-supervisor = codepack.plugin.supervisor.Supervisor
-scheduler = codepack.plugin.scheduler.Scheduler
-jobstore = codepack.plugin.jobstore.JobStore
-storable_job = codepack.plugin.storable_job.StorableJob
-worker = codepack.plugin.worker.Worker
-docker_manager = codepack.plugin.docker_manager.DockerManager
-interpreter_manager = codepack.plugin.interpreter_manager.InterpreterManager
-memory_storage = codepack.storage.memory_storage.MemoryStorage
-file_storage = codepack.storage.file_storage.FileStorage
-mongo_storage = codepack.storage.mongo_storage.MongoStorage
-memory_messenger = codepack.storage.memory_messenger.MemoryMessenger
-kafka_messenger = codepack.storage.kafka_messenger.KafkaMessenger
-s3_storage = codepack.storage.s3_storage.S3Storage
diff --git a/codepack/interface/__init__.py b/codepack/interfaces/__init__.py
similarity index 100%
rename from codepack/interface/__init__.py
rename to codepack/interfaces/__init__.py
diff --git a/codepack/interface/docker.py b/codepack/interfaces/docker.py
similarity index 93%
rename from codepack/interface/docker.py
rename to codepack/interfaces/docker.py
index 02825ff..06526f0 100644
--- a/codepack/interface/docker.py
+++ b/codepack/interfaces/docker.py
@@ -1,4 +1,4 @@
-from codepack.interface.interface import Interface
+from codepack.interfaces.interface import Interface
 import docker
 from typing import Any, Optional
 
diff --git a/codepack/interface/dynamodb.py b/codepack/interfaces/dynamodb.py
similarity index 98%
rename from codepack/interface/dynamodb.py
rename to codepack/interfaces/dynamodb.py
index 1a45a4f..b413505 100644
--- a/codepack/interface/dynamodb.py
+++ b/codepack/interfaces/dynamodb.py
@@ -1,4 +1,4 @@
-from codepack.interface.sql_interface import SQLInterface
+from codepack.interfaces.sql_interface import SQLInterface
 import boto3
 from botocore.config import Config
 from botocore.client import BaseClient
diff --git a/codepack/interface/interface.py b/codepack/interfaces/interface.py
similarity index 98%
rename from codepack/interface/interface.py
rename to codepack/interfaces/interface.py
index 90b3c64..8fb9bc9 100644
--- a/codepack/interface/interface.py
+++ b/codepack/interfaces/interface.py
@@ -1,4 +1,4 @@
-from codepack.config.config import Config
+from codepack.utils.config.config import Config
 import abc
 import sshtunnel
 from copy import deepcopy
diff --git a/codepack/interface/kafka_consumer.py b/codepack/interfaces/kafka_consumer.py
similarity index 95%
rename from codepack/interface/kafka_consumer.py
rename to codepack/interfaces/kafka_consumer.py
index 02faa47..6878790 100644
--- a/codepack/interface/kafka_consumer.py
+++ b/codepack/interfaces/kafka_consumer.py
@@ -1,5 +1,5 @@
-from codepack.interface.interface import Interface
-from codepack.utils import Looper
+from codepack.interfaces.interface import Interface
+from codepack.utils.looper import Looper
 import kafka
 from copy import deepcopy
 import json
diff --git a/codepack/interface/kafka_producer.py b/codepack/interfaces/kafka_producer.py
similarity index 95%
rename from codepack/interface/kafka_producer.py
rename to codepack/interfaces/kafka_producer.py
index 3ea8d78..1ce1206 100644
--- a/codepack/interface/kafka_producer.py
+++ b/codepack/interfaces/kafka_producer.py
@@ -1,4 +1,4 @@
-from codepack.interface.interface import Interface
+from codepack.interfaces.interface import Interface
 import kafka
 import json
 from typing import Any
diff --git a/codepack/interface/mongodb.py b/codepack/interfaces/mongodb.py
similarity index 95%
rename from codepack/interface/mongodb.py
rename to codepack/interfaces/mongodb.py
index 5fa319c..1a8a2a4 100644
--- a/codepack/interface/mongodb.py
+++ b/codepack/interfaces/mongodb.py
@@ -1,4 +1,4 @@
-from codepack.interface.interface import Interface
+from codepack.interfaces.interface import Interface
 import pymongo
 from typing import Any
 
diff --git a/codepack/interface/mssql.py b/codepack/interfaces/mssql.py
similarity index 98%
rename from codepack/interface/mssql.py
rename to codepack/interfaces/mssql.py
index 8ba0ea7..3ed8774 100644
--- a/codepack/interface/mssql.py
+++ b/codepack/interfaces/mssql.py
@@ -1,4 +1,4 @@
-from codepack.interface.sql_interface import SQLInterface
+from codepack.interfaces.sql_interface import SQLInterface
 import pymssql
 from typing import Any, Union, Optional
 
diff --git a/codepack/interface/mysql.py b/codepack/interfaces/mysql.py
similarity index 98%
rename from codepack/interface/mysql.py
rename to codepack/interfaces/mysql.py
index 5ee6d75..d315652 100644
--- a/codepack/interface/mysql.py
+++ b/codepack/interfaces/mysql.py
@@ -1,4 +1,4 @@
-from codepack.interface.sql_interface import SQLInterface
+from codepack.interfaces.sql_interface import SQLInterface
 import pymysql
 import re
 from typing import Any, Union, Optional
diff --git a/codepack/interface/oracledb.py b/codepack/interfaces/oracledb.py
similarity index 97%
rename from codepack/interface/oracledb.py
rename to codepack/interfaces/oracledb.py
index f45637a..e42f62f 100644
--- a/codepack/interface/oracledb.py
+++ b/codepack/interfaces/oracledb.py
@@ -1,4 +1,4 @@
-from codepack.interface.sql_interface import SQLInterface
+from codepack.interfaces.sql_interface import SQLInterface
 import cx_Oracle
 from functools import partial
 from typing import Any, Union, Optional
diff --git a/codepack/interface/s3.py b/codepack/interfaces/s3.py
similarity index 97%
rename from codepack/interface/s3.py
rename to codepack/interfaces/s3.py
index 992e6d6..bcdc03d 100644
--- a/codepack/interface/s3.py
+++ b/codepack/interfaces/s3.py
@@ -1,4 +1,4 @@
-from codepack.interface.interface import Interface
+from codepack.interfaces.interface import Interface
 import boto3
 from botocore.config import Config
 from botocore.client import BaseClient
diff --git a/codepack/interface/sql_interface.py b/codepack/interfaces/sql_interface.py
similarity index 97%
rename from codepack/interface/sql_interface.py
rename to codepack/interfaces/sql_interface.py
index 3ade7a8..eab6f5c 100644
--- a/codepack/interface/sql_interface.py
+++ b/codepack/interfaces/sql_interface.py
@@ -1,4 +1,4 @@
-from codepack.interface.interface import Interface
+from codepack.interfaces.interface import Interface
 import abc
 import numpy as np
 from typing import Optional, Any
diff --git a/codepack/callback/__init__.py b/codepack/plugins/__init__.py
similarity index 100%
rename from codepack/callback/__init__.py
rename to codepack/plugins/__init__.py
diff --git a/codepack/callback/callback.py b/codepack/plugins/callback.py
similarity index 97%
rename from codepack/callback/callback.py
rename to codepack/plugins/callback.py
index 7086295..0684a97 100644
--- a/codepack/callback/callback.py
+++ b/codepack/plugins/callback.py
@@ -1,4 +1,4 @@
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from codepack.base.code_base import CodeBase
 from functools import partial
 from collections.abc import Callable
diff --git a/codepack/plugin/callback_service.py b/codepack/plugins/callback_service.py
similarity index 77%
rename from codepack/plugin/callback_service.py
rename to codepack/plugins/callback_service.py
index e7471c1..67c698f 100644
--- a/codepack/plugin/callback_service.py
+++ b/codepack/plugins/callback_service.py
@@ -1,11 +1,11 @@
-from codepack.plugin.service import Service
-from codepack.callback.callback import Callback
+from codepack.plugins.service import Service
+from codepack.plugins.callback import Callback
 from collections.abc import Callable
 from typing import TypeVar, Union, Optional
 
 
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
-Storable = TypeVar('Storable', bound='codepack.storage.storable.Storable')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
+Storable = TypeVar('Storable', bound='codepack.storages.storable.Storable')
 
 
 class CallbackService(Service):
diff --git a/codepack/delivery/delivery.py b/codepack/plugins/delivery.py
similarity index 96%
rename from codepack/delivery/delivery.py
rename to codepack/plugins/delivery.py
index 1d0ef14..ad33ca7 100644
--- a/codepack/delivery/delivery.py
+++ b/codepack/plugins/delivery.py
@@ -1,4 +1,4 @@
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 import json
 from datetime import datetime
 from typing import Any, Optional
diff --git a/codepack/plugin/delivery_service.py b/codepack/plugins/delivery_service.py
similarity index 88%
rename from codepack/plugin/delivery_service.py
rename to codepack/plugins/delivery_service.py
index d5bb2cc..4080af7 100644
--- a/codepack/plugin/delivery_service.py
+++ b/codepack/plugins/delivery_service.py
@@ -1,8 +1,8 @@
-from codepack.plugin.service import Service
+from codepack.plugins.service import Service
 from typing import Union, TypeVar, Optional, Any
 
 
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
 
 
 class DeliveryService(Service):
diff --git a/codepack/dependency/dependency.py b/codepack/plugins/dependency.py
similarity index 97%
rename from codepack/dependency/dependency.py
rename to codepack/plugins/dependency.py
index 97d21d2..ace312d 100644
--- a/codepack/dependency/dependency.py
+++ b/codepack/plugins/dependency.py
@@ -1,4 +1,4 @@
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from typing import TypeVar, Optional, Union
 
 
diff --git a/codepack/plugin/dependency_bag.py b/codepack/plugins/dependency_bag.py
similarity index 92%
rename from codepack/plugin/dependency_bag.py
rename to codepack/plugins/dependency_bag.py
index c2397e1..d82df62 100644
--- a/codepack/plugin/dependency_bag.py
+++ b/codepack/plugins/dependency_bag.py
@@ -1,11 +1,11 @@
-from codepack.storage.memory_storage import MemoryStorage
-from codepack.dependency.dependency import Dependency
+from codepack.storages.memory_storage import MemoryStorage
+from codepack.plugins.dependency import Dependency
 from collections.abc import Iterable
 from typing import Union, Optional, Type, TypeVar, KeysView, ValuesView, ItemsView, Iterator
 
 
 Code = TypeVar('Code', bound='codepack.code.Code')
-CodeSnapshot = TypeVar('CodeSnapshot', bound='codepack.snapshot.code_snapshot.CodeSnapshot')
+CodeSnapshot = TypeVar('CodeSnapshot', bound='codepack.plugins.snapshots.code_snapshot.CodeSnapshot')
 
 
 class DependencyBag(MemoryStorage, Iterable):
diff --git a/codepack/plugin/dependency_monitor.py b/codepack/plugins/dependency_monitor.py
similarity index 93%
rename from codepack/plugin/dependency_monitor.py
rename to codepack/plugins/dependency_monitor.py
index 05031ef..9bf3c4e 100644
--- a/codepack/plugin/dependency_monitor.py
+++ b/codepack/plugins/dependency_monitor.py
@@ -1,9 +1,9 @@
-from codepack.config.default import Default
+from codepack.utils.config.default import Default
 from codepack.utils.looper import Looper
 from typing import Callable, Optional, TypeVar
 
 
-SnapshotService = TypeVar('SnapshotService', bound='codepack.plugin.snapshot_service.SnapshotService')
+SnapshotService = TypeVar('SnapshotService', bound='codepack.plugins.snapshots.snapshot_service.SnapshotService')
 
 
 class DependencyMonitor:
diff --git a/codepack/plugin/docker_manager.py b/codepack/plugins/docker_manager.py
similarity index 97%
rename from codepack/plugin/docker_manager.py
rename to codepack/plugins/docker_manager.py
index 6b76df7..3411dff 100644
--- a/codepack/plugin/docker_manager.py
+++ b/codepack/plugins/docker_manager.py
@@ -1,6 +1,6 @@
-from codepack.plugin.manager import Manager
-from codepack.config.config import Config
-from codepack.interface.docker import Docker
+from codepack.plugins.manager import Manager
+from codepack.utils.config.config import Config
+from codepack.interfaces.docker import Docker
 import os
 from docker.errors import ImageNotFound
 from shutil import rmtree
diff --git a/codepack/plugin/employee.py b/codepack/plugins/employee.py
similarity index 80%
rename from codepack/plugin/employee.py
rename to codepack/plugins/employee.py
index 92d2ed7..ce35ba2 100644
--- a/codepack/plugin/employee.py
+++ b/codepack/plugins/employee.py
@@ -1,4 +1,4 @@
-from codepack.storage.messenger import Messenger
+from codepack.storages.messenger import Messenger
 import abc
 
 
diff --git a/codepack/plugin/interpreter_manager.py b/codepack/plugins/interpreter_manager.py
similarity index 95%
rename from codepack/plugin/interpreter_manager.py
rename to codepack/plugins/interpreter_manager.py
index e52efdf..13a2143 100644
--- a/codepack/plugin/interpreter_manager.py
+++ b/codepack/plugins/interpreter_manager.py
@@ -1,4 +1,4 @@
-from codepack.plugin.manager import Manager
+from codepack.plugins.manager import Manager
 import os
 from typing import Any, Union, Optional, TypeVar
 import json
diff --git a/codepack/plugin/jobstore.py b/codepack/plugins/jobstore.py
similarity index 95%
rename from codepack/plugin/jobstore.py
rename to codepack/plugins/jobstore.py
index e2dd102..c2c8310 100644
--- a/codepack/plugin/jobstore.py
+++ b/codepack/plugins/jobstore.py
@@ -1,4 +1,4 @@
-from codepack.plugin.storable_job import StorableJob
+from codepack.plugins.storable_job import StorableJob
 from apscheduler.jobstores.base import BaseJobStore, JobLookupError, ConflictingIdError
 from apscheduler.util import datetime_to_utc_timestamp, utc_timestamp_to_datetime
 from datetime import datetime
@@ -10,7 +10,7 @@
 
 
 Job = TypeVar('Job', bound='apscheduler.job.Job')
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
 
 
 class JobStore(BaseJobStore):
diff --git a/codepack/plugin/manager.py b/codepack/plugins/manager.py
similarity index 100%
rename from codepack/plugin/manager.py
rename to codepack/plugins/manager.py
diff --git a/codepack/plugin/scheduler.py b/codepack/plugins/scheduler.py
similarity index 97%
rename from codepack/plugin/scheduler.py
rename to codepack/plugins/scheduler.py
index 17f255f..4866aa1 100644
--- a/codepack/plugin/scheduler.py
+++ b/codepack/plugins/scheduler.py
@@ -1,7 +1,7 @@
 from codepack.codepack import CodePack
 from codepack.argpack import ArgPack
-from codepack.snapshot.codepack_snapshot import CodePackSnapshot
-from codepack.plugin.supervisor import Supervisor
+from codepack.plugins.snapshots.codepack_snapshot import CodePackSnapshot
+from codepack.plugins.supervisor import Supervisor
 from apscheduler.schedulers.background import BackgroundScheduler, BlockingScheduler
 import requests
 import json
diff --git a/codepack/plugin/service.py b/codepack/plugins/service.py
similarity index 75%
rename from codepack/plugin/service.py
rename to codepack/plugins/service.py
index eb98b72..2bdaeab 100644
--- a/codepack/plugin/service.py
+++ b/codepack/plugins/service.py
@@ -2,7 +2,7 @@
 from typing import TypeVar
 
 
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
 
 
 class Service(metaclass=abc.ABCMeta):
diff --git a/codepack/plugin/snapshot_service.py b/codepack/plugins/snapshot_service.py
similarity index 80%
rename from codepack/plugin/snapshot_service.py
rename to codepack/plugins/snapshot_service.py
index 6f2aaa7..685870c 100644
--- a/codepack/plugin/snapshot_service.py
+++ b/codepack/plugins/snapshot_service.py
@@ -1,12 +1,12 @@
-from codepack.plugin.service import Service
-from codepack.snapshot.snapshot import Snapshot
-from codepack.snapshot.state import State
-from codepack.snapshot.snapshotable import Snapshotable
+from codepack.plugins.service import Service
+from codepack.plugins.snapshots.snapshot import Snapshot
+from codepack.plugins.snapshots.snapshotable import Snapshotable
+from codepack.plugins.state import State
 from typing import Union, TypeVar, Optional, Any
 
 
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
-Storable = TypeVar('Storable', bound='codepack.storage.storable.Storable')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
+Storable = TypeVar('Storable', bound='codepack.storages.storable.Storable')
 
 
 class SnapshotService(Service):
diff --git a/codepack/config/__init__.py b/codepack/plugins/snapshots/__init__.py
similarity index 100%
rename from codepack/config/__init__.py
rename to codepack/plugins/snapshots/__init__.py
diff --git a/codepack/snapshot/code_snapshot.py b/codepack/plugins/snapshots/code_snapshot.py
similarity index 95%
rename from codepack/snapshot/code_snapshot.py
rename to codepack/plugins/snapshots/code_snapshot.py
index ba1eeae..17c0763 100644
--- a/codepack/snapshot/code_snapshot.py
+++ b/codepack/plugins/snapshots/code_snapshot.py
@@ -1,5 +1,5 @@
-from codepack.snapshot.snapshot import Snapshot
-from codepack.dependency.dependency import Dependency
+from codepack.plugins.snapshots.snapshot import Snapshot
+from codepack.plugins.dependency import Dependency
 from typing import TypeVar, Optional, Union
 
 
diff --git a/codepack/snapshot/codepack_snapshot.py b/codepack/plugins/snapshots/codepack_snapshot.py
similarity index 97%
rename from codepack/snapshot/codepack_snapshot.py
rename to codepack/plugins/snapshots/codepack_snapshot.py
index 9c5487a..8f54d70 100644
--- a/codepack/snapshot/codepack_snapshot.py
+++ b/codepack/plugins/snapshots/codepack_snapshot.py
@@ -1,4 +1,4 @@
-from codepack.snapshot.snapshot import Snapshot
+from codepack.plugins.snapshots.snapshot import Snapshot
 from codepack.argpack import ArgPack
 from copy import deepcopy
 from typing import TypeVar, Optional, Union
diff --git a/codepack/snapshot/snapshot.py b/codepack/plugins/snapshots/snapshot.py
similarity index 96%
rename from codepack/snapshot/snapshot.py
rename to codepack/plugins/snapshots/snapshot.py
index fcff524..d23c0d4 100644
--- a/codepack/snapshot/snapshot.py
+++ b/codepack/plugins/snapshots/snapshot.py
@@ -1,5 +1,5 @@
-from codepack.storage.storable import Storable
-from codepack.snapshot.state import State
+from codepack.storages.storable import Storable
+from codepack.plugins.state import State
 from datetime import datetime, timezone
 from copy import deepcopy
 from typing import Optional, Any, Union, Iterator, KeysView, ValuesView, ItemsView
diff --git a/codepack/snapshot/snapshotable.py b/codepack/plugins/snapshots/snapshotable.py
similarity index 81%
rename from codepack/snapshot/snapshotable.py
rename to codepack/plugins/snapshots/snapshotable.py
index 0c4d42f..18e0330 100644
--- a/codepack/snapshot/snapshotable.py
+++ b/codepack/plugins/snapshots/snapshotable.py
@@ -2,7 +2,7 @@
 from typing import Any, TypeVar
 
 
-Snapshot = TypeVar('Snapshot', bound='codepack.snapshot.snapshot.Snapshot')
+Snapshot = TypeVar('Snapshot', bound='codepack.plugins.snapshots.snapshot.Snapshot')
 
 
 class Snapshotable(metaclass=abc.ABCMeta):
diff --git a/codepack/snapshot/state.py b/codepack/plugins/state.py
similarity index 100%
rename from codepack/snapshot/state.py
rename to codepack/plugins/state.py
diff --git a/codepack/plugin/storable_job.py b/codepack/plugins/storable_job.py
similarity index 96%
rename from codepack/plugin/storable_job.py
rename to codepack/plugins/storable_job.py
index 411ee5e..311ebb6 100644
--- a/codepack/plugin/storable_job.py
+++ b/codepack/plugins/storable_job.py
@@ -1,4 +1,4 @@
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from apscheduler.job import Job
 from apscheduler.util import datetime_to_utc_timestamp
 from datetime import datetime, timezone
diff --git a/codepack/plugin/storage_service.py b/codepack/plugins/storage_service.py
similarity index 78%
rename from codepack/plugin/storage_service.py
rename to codepack/plugins/storage_service.py
index 3ed09cf..a103171 100644
--- a/codepack/plugin/storage_service.py
+++ b/codepack/plugins/storage_service.py
@@ -1,9 +1,9 @@
-from codepack.plugin.service import Service
+from codepack.plugins.service import Service
 from typing import Union, TypeVar, Optional
 
 
-Storage = TypeVar('Storage', bound='codepack.storage.storage.Storage')
-Storable = TypeVar('Storable', bound='codepack.storage.storable.Storable')
+Storage = TypeVar('Storage', bound='codepack.storages.storage.Storage')
+Storable = TypeVar('Storable', bound='codepack.storages.storable.Storable')
 
 
 class StorageService(Service):
diff --git a/codepack/plugin/supervisor.py b/codepack/plugins/supervisor.py
similarity index 90%
rename from codepack/plugin/supervisor.py
rename to codepack/plugins/supervisor.py
index e137a61..e84bbb3 100644
--- a/codepack/plugin/supervisor.py
+++ b/codepack/plugins/supervisor.py
@@ -1,15 +1,15 @@
 from codepack.code import Code
 from codepack.codepack import CodePack
-from codepack.config.default import Default
-from codepack.snapshot.code_snapshot import CodeSnapshot
-from codepack.plugin.employee import Employee
+from codepack.utils.config.default import Default
+from codepack.plugins.snapshots.code_snapshot import CodeSnapshot
+from codepack.plugins.employee import Employee
 from codepack.arg import Arg
 from codepack.argpack import ArgPack
 from typing import TypeVar, Optional, Union
 
 
-Messenger = TypeVar('Messenger', bound='codepack.storage.messenger.Messenger')
-SnapshotService = TypeVar('SnapshotService', bound='codepack.plugin.snapshot_service.SnapshotService')
+Messenger = TypeVar('Messenger', bound='codepack.storages.messenger.Messenger')
+SnapshotService = TypeVar('SnapshotService', bound='codepack.plugins.snapshot_service.SnapshotService')
 
 
 class Supervisor(Employee):
diff --git a/codepack/plugin/worker.py b/codepack/plugins/worker.py
similarity index 92%
rename from codepack/plugin/worker.py
rename to codepack/plugins/worker.py
index 642d39a..63c9197 100644
--- a/codepack/plugin/worker.py
+++ b/codepack/plugins/worker.py
@@ -1,13 +1,13 @@
 from codepack.code import Code
-from codepack.snapshot.code_snapshot import CodeSnapshot
-from codepack.plugin.supervisor import Supervisor
-from codepack.plugin.employee import Employee
-from codepack.storage.file_storage import FileStorage
-from codepack.config.default import Default
-from codepack.plugin.docker_manager import DockerManager
-from codepack.plugin.interpreter_manager import InterpreterManager
-from codepack.plugin.callback_service import CallbackService
-from codepack.callback.functions import inform_supervisor_of_termination
+from codepack.plugins.snapshots.code_snapshot import CodeSnapshot
+from codepack.plugins.supervisor import Supervisor
+from codepack.plugins.employee import Employee
+from codepack.storages.file_storage import FileStorage
+from codepack.utils.config.default import Default
+from codepack.plugins.docker_manager import DockerManager
+from codepack.plugins.interpreter_manager import InterpreterManager
+from codepack.plugins.callback_service import CallbackService
+from codepack.utils.functions import inform_supervisor_of_termination
 from functools import partial
 import logging
 import os
@@ -15,7 +15,7 @@
 from typing import TypeVar, Union, Optional, Callable
 
 
-Messenger = TypeVar('Messenger', bound='codepack.storage.messenger.Messenger')
+Messenger = TypeVar('Messenger', bound='codepack.storages.messenger.Messenger')
 
 
 class Worker(Employee):
diff --git a/codepack/storage/__init__.py b/codepack/storages/__init__.py
similarity index 100%
rename from codepack/storage/__init__.py
rename to codepack/storages/__init__.py
diff --git a/codepack/storage/file_storage.py b/codepack/storages/file_storage.py
similarity index 98%
rename from codepack/storage/file_storage.py
rename to codepack/storages/file_storage.py
index 317f8c1..d585d5a 100644
--- a/codepack/storage/file_storage.py
+++ b/codepack/storages/file_storage.py
@@ -1,5 +1,5 @@
-from codepack.storage.storage import Storage
-from codepack.storage.storable import Storable
+from codepack.storages.storage import Storage
+from codepack.storages.storable import Storable
 from shutil import rmtree
 from glob import glob
 import os
diff --git a/codepack/storage/kafka_messenger.py b/codepack/storages/kafka_messenger.py
similarity index 95%
rename from codepack/storage/kafka_messenger.py
rename to codepack/storages/kafka_messenger.py
index dc5c5a9..7978e10 100644
--- a/codepack/storage/kafka_messenger.py
+++ b/codepack/storages/kafka_messenger.py
@@ -1,6 +1,6 @@
-from codepack.interface.kafka_consumer import KafkaConsumer
-from codepack.interface.kafka_producer import KafkaProducer
-from codepack.storage.messenger import Messenger
+from codepack.interfaces.kafka_consumer import KafkaConsumer
+from codepack.interfaces.kafka_producer import KafkaProducer
+from codepack.storages.messenger import Messenger
 from typing import Union, Optional, Any, Callable
 
 
diff --git a/codepack/storage/memory_messenger.py b/codepack/storages/memory_messenger.py
similarity index 96%
rename from codepack/storage/memory_messenger.py
rename to codepack/storages/memory_messenger.py
index 5a10a3e..6dc2ad2 100644
--- a/codepack/storage/memory_messenger.py
+++ b/codepack/storages/memory_messenger.py
@@ -1,5 +1,5 @@
-from codepack.storage.messenger import Messenger
-from codepack.utils import Looper
+from codepack.storages.messenger import Messenger
+from codepack.utils.looper import Looper
 from queue import Queue, Empty
 from collections import namedtuple
 from typing import Any, Callable
diff --git a/codepack/storage/memory_storage.py b/codepack/storages/memory_storage.py
similarity index 97%
rename from codepack/storage/memory_storage.py
rename to codepack/storages/memory_storage.py
index f77a03c..7a6d9cd 100644
--- a/codepack/storage/memory_storage.py
+++ b/codepack/storages/memory_storage.py
@@ -1,8 +1,8 @@
-from codepack.storage.storage import Storage
+from codepack.storages.storage import Storage
 from typing import TypeVar, Type, Union, Optional, Any
 
 
-Storable = TypeVar('Storable', bound='codepack.storage.storable.Storable')
+Storable = TypeVar('Storable', bound='codepack.storages.storable.Storable')
 
 
 class MemoryStorage(Storage):
diff --git a/codepack/storage/messenger.py b/codepack/storages/messenger.py
similarity index 100%
rename from codepack/storage/messenger.py
rename to codepack/storages/messenger.py
diff --git a/codepack/storage/mongo_storage.py b/codepack/storages/mongo_storage.py
similarity index 97%
rename from codepack/storage/mongo_storage.py
rename to codepack/storages/mongo_storage.py
index 9281a12..f6fc6bc 100644
--- a/codepack/storage/mongo_storage.py
+++ b/codepack/storages/mongo_storage.py
@@ -1,6 +1,6 @@
-from codepack.interface.mongodb import MongoDB
-from codepack.storage.storage import Storage
-from codepack.storage.storable import Storable
+from codepack.interfaces.mongodb import MongoDB
+from codepack.storages.storage import Storage
+from codepack.storages.storable import Storable
 from typing import Type, Optional, Union, Any
 
 
diff --git a/codepack/storage/s3_storage.py b/codepack/storages/s3_storage.py
similarity index 97%
rename from codepack/storage/s3_storage.py
rename to codepack/storages/s3_storage.py
index 20d2bcf..47d256e 100644
--- a/codepack/storage/s3_storage.py
+++ b/codepack/storages/s3_storage.py
@@ -1,6 +1,6 @@
-from codepack.interface.s3 import S3
-from codepack.storage.storage import Storage
-from codepack.storage.storable import Storable
+from codepack.interfaces.s3 import S3
+from codepack.storages.storage import Storage
+from codepack.storages.storable import Storable
 from typing import Type, Union, Optional, Any
 from posixpath import join
 import os
diff --git a/codepack/storage/storable.py b/codepack/storages/storable.py
similarity index 97%
rename from codepack/storage/storable.py
rename to codepack/storages/storable.py
index 95da29e..1822c52 100644
--- a/codepack/storage/storable.py
+++ b/codepack/storages/storable.py
@@ -9,7 +9,7 @@
 from typing import Any, Optional, Union, TypeVar
 
 
-MongoDB = TypeVar('MongoDB', bound='codepack.interface.mongodb.MongoDB')
+MongoDB = TypeVar('MongoDB', bound='codepack.interfaces.mongodb.MongoDB')
 MongoClient = TypeVar('MongoClient', bound='pymongo.mongo_client.MongoClient')
 
 
diff --git a/codepack/storage/storage.py b/codepack/storages/storage.py
similarity index 97%
rename from codepack/storage/storage.py
rename to codepack/storages/storage.py
index 4cabdab..1a08718 100644
--- a/codepack/storage/storage.py
+++ b/codepack/storages/storage.py
@@ -1,5 +1,5 @@
 import abc
-from codepack.storage.storable import Storable
+from codepack.storages.storable import Storable
 from typing import Any, Type, Optional, Union
 
 
diff --git a/codepack/utils/__init__.py b/codepack/utils/__init__.py
index 1f16de9..8b13789 100644
--- a/codepack/utils/__init__.py
+++ b/codepack/utils/__init__.py
@@ -1,2 +1,1 @@
-from codepack.utils.looper import Looper
-from codepack.utils.common import Common
+
diff --git a/codepack/delivery/__init__.py b/codepack/utils/config/__init__.py
similarity index 100%
rename from codepack/delivery/__init__.py
rename to codepack/utils/config/__init__.py
diff --git a/codepack/config/alias.py b/codepack/utils/config/alias.py
similarity index 97%
rename from codepack/config/alias.py
rename to codepack/utils/config/alias.py
index d023869..a530b21 100644
--- a/codepack/config/alias.py
+++ b/codepack/utils/config/alias.py
@@ -1,4 +1,4 @@
-from codepack.config.config import Config
+from codepack.utils.config.config import Config
 from importlib import import_module
 import os
 import inspect
diff --git a/codepack/config/config.py b/codepack/utils/config/config.py
similarity index 100%
rename from codepack/config/config.py
rename to codepack/utils/config/config.py
diff --git a/codepack/config/default.py b/codepack/utils/config/default.py
similarity index 96%
rename from codepack/config/default.py
rename to codepack/utils/config/default.py
index b000664..59c7f1e 100644
--- a/codepack/config/default.py
+++ b/codepack/utils/config/default.py
@@ -1,14 +1,14 @@
-from codepack.config.config import Config
-from codepack.config.alias import Alias
+from codepack.utils.config.config import Config
+from codepack.utils.config.alias import Alias
 import inspect
 from docker.errors import DockerException
 from typing import Optional, TypeVar
 
 
-Service = TypeVar('Service', bound='codepack.plugin.service.Service')
-Scheduler = TypeVar('Scheduler', bound='codepack.plugin.scheduler.Scheduler')
-Employee = TypeVar('Employee', bound='codepack.plugin.employee.Employee')
-Manager = TypeVar('Manager', bound='codepack.plugin.manager.Manager')
+Service = TypeVar('Service', bound='codepack.plugins.service.Service')
+Scheduler = TypeVar('Scheduler', bound='codepack.plugins.scheduler.Scheduler')
+Employee = TypeVar('Employee', bound='codepack.plugins.employee.Employee')
+Manager = TypeVar('Manager', bound='codepack.plugins.manager.Manager')
 Logger = TypeVar('Logger', bound='logging.Logger')
 
 
diff --git a/codepack/utils/config/default/alias.ini b/codepack/utils/config/default/alias.ini
new file mode 100644
index 0000000..ae4ddab
--- /dev/null
+++ b/codepack/utils/config/default/alias.ini
@@ -0,0 +1,26 @@
+[alias]
+code = codepack.code.Code
+codepack = codepack.codepack.CodePack
+arg = codepack.arg.Arg
+argpack = codepack.argpack.ArgPack
+code_snapshot = codepack.plugins.snapshots.code_snapshot.CodeSnapshot
+codepack_snapshot = codepack.plugins.snapshots.codepack_snapshot.CodePackSnapshot
+callback = codepack.plugins.callback.Callback
+delivery = codepack.plugins.delivery.Delivery
+storage_service = codepack.plugins.storage_service.StorageService
+delivery_service = codepack.plugins.delivery_service.DeliveryService
+snapshot_service = codepack.plugins.snapshot_service.SnapshotService
+callback_service = codepack.plugins.callback_service.CallbackService
+supervisor = codepack.plugins.supervisor.Supervisor
+scheduler = codepack.plugins.scheduler.Scheduler
+jobstore = codepack.plugins.jobstore.JobStore
+storable_job = codepack.plugins.storable_job.StorableJob
+worker = codepack.plugins.worker.Worker
+docker_manager = codepack.plugins.docker_manager.DockerManager
+interpreter_manager = codepack.plugins.interpreter_manager.InterpreterManager
+memory_storage = codepack.storages.memory_storage.MemoryStorage
+file_storage = codepack.storages.file_storage.FileStorage
+mongo_storage = codepack.storages.mongo_storage.MongoStorage
+memory_messenger = codepack.storages.memory_messenger.MemoryMessenger
+kafka_messenger = codepack.storages.kafka_messenger.KafkaMessenger
+s3_storage = codepack.storages.s3_storage.S3Storage
diff --git a/codepack/config/default/default.ini b/codepack/utils/config/default/default.ini
similarity index 100%
rename from codepack/config/default/default.ini
rename to codepack/utils/config/default/default.ini
diff --git a/codepack/config/default/logging.json b/codepack/utils/config/default/logging.json
similarity index 100%
rename from codepack/config/default/logging.json
rename to codepack/utils/config/default/logging.json
diff --git a/codepack/config/default/scripts/run_snapshot.py b/codepack/utils/config/default/scripts/run_snapshot.py
similarity index 86%
rename from codepack/config/default/scripts/run_snapshot.py
rename to codepack/utils/config/default/scripts/run_snapshot.py
index 9c33f5b..5a061e2 100644
--- a/codepack/config/default/scripts/run_snapshot.py
+++ b/codepack/utils/config/default/scripts/run_snapshot.py
@@ -1,10 +1,5 @@
-from codepack import Code
-from codepack import CodeSnapshot
-from codepack import CallbackService
-from codepack.storage import FileStorage
-from codepack import Callback
-from codepack import Default
-from codepack import Worker
+from codepack import Code, CodeSnapshot, CallbackService, Callback, Default, Worker
+from codepack.storages import FileStorage
 import argparse
 import sys
 from functools import partial
diff --git a/codepack/callback/functions.py b/codepack/utils/functions.py
similarity index 85%
rename from codepack/callback/functions.py
rename to codepack/utils/functions.py
index 7c235ac..9f629cc 100644
--- a/codepack/callback/functions.py
+++ b/codepack/utils/functions.py
@@ -1,6 +1,6 @@
 def inform_supervisor_of_termination(x, supervisor):
     import requests
-    from codepack.plugin.supervisor import Supervisor
+    from codepack.plugins.supervisor import Supervisor
     if x['state'] == 'TERMINATED':
         if isinstance(supervisor, str):
             requests.get(supervisor + '/organize/%s' % x['serial_number'])
diff --git a/setup.py b/setup.py
index 84d2a96..e4dbf8e 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@
     packages=setuptools.find_packages(),
     keywords=["codepack", "workflow", "pipeline"],
     install_requires=requirements,
-    package_data={'codepack': ['config/default/*']},
+    package_data={'codepack': ['utils/config/default/*']},
     data_files=[("codepack/config", ["config/logging.json", "config/codepack.ini"])],
     classifiers=[
         "Programming Language :: Python",


Test patch:
diff --git a/tests/config/test_alias.py b/tests/config/test_alias.py
index 01dbd42..c4fe422 100644
--- a/tests/config/test_alias.py
+++ b/tests/config/test_alias.py
@@ -1,5 +1,5 @@
 from codepack import Alias, StorageService
-from codepack.storage import MemoryStorage
+from codepack.storages import MemoryStorage
 import os
 import pytest
 import configparser
@@ -11,7 +11,7 @@ def test_alias_from_individual_os_env():
     assert isinstance(a['storage_service'], StorageService.__class__)
     os_env = 'CODEPACK_ALIAS_STORAGE_SERVICE'
     try:
-        os.environ[os_env] = 'codepack.storage.memory_storage.MemoryStorage'
+        os.environ[os_env] = 'codepack.storages.memory_storage.MemoryStorage'
         assert a['storage_service'] == MemoryStorage
     finally:
         os.environ.pop(os_env, None)
@@ -23,7 +23,7 @@ def test_alias_from_alias_path_os_env():
     assert isinstance(a['storage_service'], StorageService.__class__)
     os_env = 'CODEPACK_ALIAS_PATH'
     try:
-        os.environ[os_env] = 'codepack/config/default/alias.ini'
+        os.environ[os_env] = 'codepack/utils/config/default/alias.ini'
         assert a['storage_service'] == StorageService
     finally:
         os.environ.pop(os_env, None)
@@ -45,14 +45,14 @@ def test_alias_from_config_path_os_env():
 
 
 def test_alias_priority1():
-    a = Alias(data={'storage_service': 'codepack.storage.memory_storage.MemoryStorage'})
+    a = Alias(data={'storage_service': 'codepack.storages.memory_storage.MemoryStorage'})
     assert a.aliases is not None
     assert a['storage_service'] == MemoryStorage
     os_env1 = 'CODEPACK_ALIAS_STORAGE_SERVICE'
     os_env2 = 'CODEPACK_ALIAS_PATH'
     os_env3 = 'CODEPACK_CONFIG_PATH'
     try:
-        os.environ[os_env1] = 'codepack.service.snapshot_service.SnapshotService'
+        os.environ[os_env1] = 'codepack.plugins.snapshot_service.SnapshotService'
         assert a['storage_service'] == MemoryStorage
         os.environ.pop(os_env1, None)
         os.environ[os_env2] = 'codepack/config/default/alias.ini'
@@ -74,7 +74,7 @@ def test_alias_priority2():
     second_os_env = 'CODEPACK_ALIAS_PATH'
     third_os_env = 'CODEPACK_CONFIG_PATH'
     try:
-        os.environ[first_os_env] = 'codepack.storage.memory_storage.MemoryStorage'
+        os.environ[first_os_env] = 'codepack.storages.memory_storage.MemoryStorage'
         assert a['storage_service'] == MemoryStorage
         os.environ[second_os_env] = 'codepack/config/default/alias.ini'
         assert a['storage_service'] == MemoryStorage
@@ -90,7 +90,7 @@ def test_alias_priority2():
 def test_alias_path_argument():
     os_env = 'CODEPACK_CONFIG_DIR'
     try:
-        a = Alias(data='codepack/config/default/alias.ini')
+        a = Alias(data='codepack/utils/config/default/alias.ini')
         assert a['storage_service'] == StorageService
         os.environ[os_env] = 'config'
         with pytest.raises(configparser.NoSectionError):
diff --git a/tests/config/test_config.py b/tests/config/test_config.py
index 72bbc04..ea0a4b4 100644
--- a/tests/config/test_config.py
+++ b/tests/config/test_config.py
@@ -1,5 +1,5 @@
 from codepack import Code, Config, Default, DeliveryService, SnapshotService, StorageService
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage
 from tests import *
 from unittest.mock import patch
 import pytest
@@ -348,7 +348,7 @@ def test_config_dir():
         os.environ.pop('CODEPACK_CONFIG_DIR', None)
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_without_anything(parse_config):
     config = Config()
     ret = config.get_config('worker')
@@ -362,7 +362,7 @@ def test_get_config_without_anything(parse_config):
                       'config_path': config.get_default_config_path()}
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_without_anything_but_os_env(parse_config):
     os.environ['CODEPACK_CONFIG_PATH'] = 'config/test.ini'
     try:
@@ -380,7 +380,7 @@ def test_get_config_without_anything_but_os_env(parse_config):
         os.environ.pop('CODEPACK_CONFIG_PATH')
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_without_anything_but_method_argument(parse_config):
     config = Config()
     ret = config.get_config('worker', config_path='config/test.ini')
@@ -388,7 +388,7 @@ def test_get_config_without_anything_but_method_argument(parse_config):
     parse_config.assert_called_once_with(section='worker', config_path='config/test.ini')
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_with_constructor_argument(parse_config):
     config = Config(config_path='config/test.ini')
     ret = config.get_config('worker')
@@ -396,7 +396,7 @@ def test_get_config_with_constructor_argument(parse_config):
     parse_config.assert_called_once_with(section='worker', config_path='config/test.ini')
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_with_constructor_argument_and_os_env(parse_config):
     try:
         os.environ['CODEPACK_CONFIG_PATH'] = 'config/codepack.ini'
@@ -408,7 +408,7 @@ def test_get_config_with_constructor_argument_and_os_env(parse_config):
         os.environ.pop('CODEPACK_CONFIG_PATH')
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_with_constructor_argument_and_method_argument(parse_config):
     config = Config(config_path='config/test.ini')
     ret = config.get_config('worker', config_path='config/codepack.ini')
@@ -416,7 +416,7 @@ def test_get_config_with_constructor_argument_and_method_argument(parse_config):
     parse_config.assert_called_once_with(section='worker', config_path='config/codepack.ini')
 
 
-@patch('codepack.config.config.Config.parse_config')
+@patch('codepack.utils.config.config.Config.parse_config')
 def test_get_config_with_method_argument_and_os_env(parse_config):
     try:
         os.environ['CODEPACK_CONFIG_PATH'] = 'config/codepack.ini'
diff --git a/tests/config/test_default.py b/tests/config/test_default.py
index d2459b1..dee502a 100644
--- a/tests/config/test_default.py
+++ b/tests/config/test_default.py
@@ -1,4 +1,4 @@
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage, MemoryMessenger
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage, MemoryMessenger
 from codepack import DeliveryService, CallbackService, SnapshotService,\
     Scheduler, Worker, Supervisor, DockerManager, InterpreterManager, Default, JobStore, StorableJob
 from unittest.mock import patch
@@ -42,7 +42,7 @@ def test_default_init_with_config_path():
 
 def test_default_init_with_config_path_and_alias_path_os_env():
     try:
-        os.environ['CODEPACK_ALIAS_PATH'] = 'codepack/config/default/alias.ini'
+        os.environ['CODEPACK_ALIAS_PATH'] = 'codepack/utils/config/default/alias.ini'
         Default(config_path='config/test.ini')
         assert len(Default.instances) == 0
         assert Default.config is not None
@@ -54,7 +54,7 @@ def test_default_init_with_config_path_and_alias_path_os_env():
 
 
 def test_default_init_with_alias_path():
-    Default(alias_path='codepack/config/default/alias.ini')
+    Default(alias_path='codepack/utils/config/default/alias.ini')
     assert len(Default.instances) == 0
     assert Default.config is not None
     assert Default.config.config_path is None
@@ -96,14 +96,14 @@ def test_default_get_class_from_alias():
         os.environ.pop('CODEPACK_ALIAS_MEMORY_STORAGE', None)
         Default.config = None
         Default.alias = None
-        os.environ['CODEPACK_ALIAS_PATH'] = 'codepack/config/default/alias.ini'
+        os.environ['CODEPACK_ALIAS_PATH'] = 'codepack/utils/config/default/alias.ini'
         memory_storage = Default.get_class_from_alias(alias='memory_storage')
         assert isinstance(memory_storage, MemoryStorage.__class__)
         os.environ.pop('CODEPACK_ALIAS_PATH', None)
         Default.config = None
         Default.alias = None
         memory_storage = Default.get_class_from_alias(alias='memory_storage',
-                                                      alias_path='codepack/config/default/alias.ini')
+                                                      alias_path='codepack/utils/config/default/alias.ini')
         assert isinstance(memory_storage, MemoryStorage.__class__)
         Default.config = None
         Default.alias = None
diff --git a/tests/conftest.py b/tests/conftest.py
index 7540b7d..4070675 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,6 +1,6 @@
 from codepack import Default, Delivery
-from codepack.interface import MongoDB
-from codepack.storage import MemoryMessenger
+from codepack.interfaces import MongoDB
+from codepack.storages import MemoryMessenger
 import pytest
 import os
 import mongomock
diff --git a/tests/interface/__init__.py b/tests/interface/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/codepack/dependency/__init__.py b/tests/interfaces/__init__.py
similarity index 100%
rename from codepack/dependency/__init__.py
rename to tests/interfaces/__init__.py
diff --git a/tests/interface/test_interface_docker.py b/tests/interfaces/test_interface_docker.py
similarity index 95%
rename from tests/interface/test_interface_docker.py
rename to tests/interfaces/test_interface_docker.py
index e8666fc..0e4a038 100644
--- a/tests/interface/test_interface_docker.py
+++ b/tests/interfaces/test_interface_docker.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import Docker
+from codepack.interfaces import Docker
 
 
 @patch('docker.DockerClient')
diff --git a/tests/interface/test_interface_dynamodb.py b/tests/interfaces/test_interface_dynamodb.py
similarity index 98%
rename from tests/interface/test_interface_dynamodb.py
rename to tests/interfaces/test_interface_dynamodb.py
index d4bb29a..09e32e2 100644
--- a/tests/interface/test_interface_dynamodb.py
+++ b/tests/interfaces/test_interface_dynamodb.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import DynamoDB
+from codepack.interfaces import DynamoDB
 import pytest
 from botocore.config import Config
 from decimal import Decimal
diff --git a/tests/interface/test_interface_kafka_consumer.py b/tests/interfaces/test_interface_kafka_consumer.py
similarity index 98%
rename from tests/interface/test_interface_kafka_consumer.py
rename to tests/interfaces/test_interface_kafka_consumer.py
index f96ee2f..68105de 100644
--- a/tests/interface/test_interface_kafka_consumer.py
+++ b/tests/interfaces/test_interface_kafka_consumer.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import KafkaConsumer
+from codepack.interfaces import KafkaConsumer
 from collections.abc import Callable
 
 
diff --git a/tests/interface/test_interface_kafka_producer.py b/tests/interfaces/test_interface_kafka_producer.py
similarity index 98%
rename from tests/interface/test_interface_kafka_producer.py
rename to tests/interfaces/test_interface_kafka_producer.py
index 32598b0..3164cc9 100644
--- a/tests/interface/test_interface_kafka_producer.py
+++ b/tests/interfaces/test_interface_kafka_producer.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import KafkaProducer
+from codepack.interfaces import KafkaProducer
 from collections.abc import Callable
 import pytest
 
diff --git a/tests/interface/test_interface_mssql.py b/tests/interfaces/test_interface_mssql.py
similarity index 99%
rename from tests/interface/test_interface_mssql.py
rename to tests/interfaces/test_interface_mssql.py
index 56be4dc..e7caab5 100644
--- a/tests/interface/test_interface_mssql.py
+++ b/tests/interfaces/test_interface_mssql.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import MSSQL
+from codepack.interfaces import MSSQL
 import pytest
 
 
diff --git a/tests/interface/test_interface_mysql.py b/tests/interfaces/test_interface_mysql.py
similarity index 99%
rename from tests/interface/test_interface_mysql.py
rename to tests/interfaces/test_interface_mysql.py
index 58cde2e..9ddcf28 100644
--- a/tests/interface/test_interface_mysql.py
+++ b/tests/interfaces/test_interface_mysql.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import MySQL
+from codepack.interfaces import MySQL
 import pytest
 from pymysql.cursors import Cursor, DictCursor
 
diff --git a/tests/interface/test_interface_oracledb.py b/tests/interfaces/test_interface_oracledb.py
similarity index 98%
rename from tests/interface/test_interface_oracledb.py
rename to tests/interfaces/test_interface_oracledb.py
index 0875727..2458e54 100644
--- a/tests/interface/test_interface_oracledb.py
+++ b/tests/interfaces/test_interface_oracledb.py
@@ -1,5 +1,5 @@
 from unittest.mock import patch
-from codepack.interface import OracleDB
+from codepack.interfaces import OracleDB
 
 
 @patch('cx_Oracle.connect')
diff --git a/tests/interface/test_interface_s3.py b/tests/interfaces/test_interface_s3.py
similarity index 99%
rename from tests/interface/test_interface_s3.py
rename to tests/interfaces/test_interface_s3.py
index 89ce7de..eb8239d 100644
--- a/tests/interface/test_interface_s3.py
+++ b/tests/interfaces/test_interface_s3.py
@@ -1,6 +1,6 @@
 import unittest.mock
 from unittest.mock import patch
-from codepack.interface import S3
+from codepack.interfaces import S3
 from botocore.config import Config
 
 
diff --git a/tests/service/__init__.py b/tests/service/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/codepack/plugin/__init__.py b/tests/services/__init__.py
similarity index 100%
rename from codepack/plugin/__init__.py
rename to tests/services/__init__.py
diff --git a/tests/service/test_delivery_service.py b/tests/services/test_delivery_service.py
similarity index 98%
rename from tests/service/test_delivery_service.py
rename to tests/services/test_delivery_service.py
index d19a3c1..3233d3a 100644
--- a/tests/service/test_delivery_service.py
+++ b/tests/services/test_delivery_service.py
@@ -1,5 +1,5 @@
 from codepack import DeliveryService, Delivery
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage
 import os
 
 
diff --git a/tests/service/test_snapshot_service.py b/tests/services/test_snapshot_service.py
similarity index 99%
rename from tests/service/test_snapshot_service.py
rename to tests/services/test_snapshot_service.py
index daa4a8c..524448d 100644
--- a/tests/service/test_snapshot_service.py
+++ b/tests/services/test_snapshot_service.py
@@ -1,5 +1,5 @@
 from codepack import Code, SnapshotService, Snapshot, CodeSnapshot
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage
 from datetime import datetime
 from tests import *
 import os
diff --git a/tests/service/test_storage_service.py b/tests/services/test_storage_service.py
similarity index 98%
rename from tests/service/test_storage_service.py
rename to tests/services/test_storage_service.py
index 06fbdc1..4548510 100644
--- a/tests/service/test_storage_service.py
+++ b/tests/services/test_storage_service.py
@@ -1,5 +1,5 @@
 from codepack import Code, StorageService
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage
 from tests import *
 import os
 
diff --git a/tests/storage/__init__.py b/tests/storage/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/codepack/snapshot/__init__.py b/tests/storages/__init__.py
similarity index 100%
rename from codepack/snapshot/__init__.py
rename to tests/storages/__init__.py
diff --git a/tests/storage/test_file_storage.py b/tests/storages/test_file_storage.py
similarity index 99%
rename from tests/storage/test_file_storage.py
rename to tests/storages/test_file_storage.py
index 695929c..fc900e5 100644
--- a/tests/storage/test_file_storage.py
+++ b/tests/storages/test_file_storage.py
@@ -1,5 +1,5 @@
 from codepack import Delivery
-from codepack.storage import FileStorage
+from codepack.storages import FileStorage
 import pytest
 import json
 import os
diff --git a/tests/storage/test_memory_storage.py b/tests/storages/test_memory_storage.py
similarity index 99%
rename from tests/storage/test_memory_storage.py
rename to tests/storages/test_memory_storage.py
index c051b5e..6f93172 100644
--- a/tests/storage/test_memory_storage.py
+++ b/tests/storages/test_memory_storage.py
@@ -1,5 +1,5 @@
 from codepack import Delivery
-from codepack.storage import MemoryStorage
+from codepack.storages import MemoryStorage
 import pytest
 import json
 
diff --git a/tests/storage/test_mongo_storage.py b/tests/storages/test_mongo_storage.py
similarity index 99%
rename from tests/storage/test_mongo_storage.py
rename to tests/storages/test_mongo_storage.py
index d72ef07..4950b75 100644
--- a/tests/storage/test_mongo_storage.py
+++ b/tests/storages/test_mongo_storage.py
@@ -1,5 +1,5 @@
 from codepack import Delivery
-from codepack.storage import MongoStorage
+from codepack.storages import MongoStorage
 import pytest
 import json
 
diff --git a/tests/storage/test_s3_storage.py b/tests/storages/test_s3_storage.py
similarity index 99%
rename from tests/storage/test_s3_storage.py
rename to tests/storages/test_s3_storage.py
index 0e1ba32..507abf9 100644
--- a/tests/storage/test_s3_storage.py
+++ b/tests/storages/test_s3_storage.py
@@ -1,6 +1,6 @@
 from codepack import Delivery, Config
-from codepack.storage import S3Storage
-from codepack.interface import S3
+from codepack.storages import S3Storage
+from codepack.interfaces import S3
 from unittest.mock import patch, MagicMock
 import pytest
 import json
diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py
index 74aec6b..cd6f064 100644
--- a/tests/test_scheduler.py
+++ b/tests/test_scheduler.py
@@ -1,6 +1,6 @@
 from unittest.mock import patch
 from codepack import Code, CodePack, Scheduler, JobStore, StorableJob
-from codepack.storage import MemoryStorage, FileStorage, MongoStorage, S3Storage
+from codepack.storages import MemoryStorage, FileStorage, MongoStorage, S3Storage
 from tests import *