diff --git a/examples/extension_service/Dockerfile b/examples/extension_service/Dockerfile
index 86eeb56492bc4929e53d34290b7540f4a28b5a9d..dd375dc0f1730573d74a8645f905fd6ae0ac4e87 100644
--- a/examples/extension_service/Dockerfile
+++ b/examples/extension_service/Dockerfile
@@ -11,7 +11,7 @@ ARG PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL}
 ENV PIP_EXTRA_INDEX_URL=$PIP_EXTRA_INDEX_URL
 
 COPY . /home/${USER}/app
-RUN pip install perxis==0.0.14
+RUN pip install perxis==0.0.15
 
 ENV PYTHONPATH="/home/perx/app"
 ENV PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
diff --git a/examples/extension_service/constants/collections.py b/examples/extension_service/constants/collections.py
index ef5a4a02a74a90fcafd394ec580003fc0d6c5069..23e438fef10ca9b0f8e52eda3c6e6c5d4f8023de 100644
--- a/examples/extension_service/constants/collections.py
+++ b/examples/extension_service/constants/collections.py
@@ -1,3 +1,4 @@
 schemes_mapping = {
     "test_collection": "Тестовая коллекция",
+    "another_test_collection": "Ещё Тестовая коллекция",
 }
diff --git a/examples/extension_service/helpers.py b/examples/extension_service/helpers.py
deleted file mode 100644
index 849c587e3130c0b74532fcbd56007f202a94b85c..0000000000000000000000000000000000000000
--- a/examples/extension_service/helpers.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# TODO: убрать дублирование кода. На момент написания сервиса ещё не было версии пакета с perxis-python в которую входил
-# TODO: бы написанный ниже код. Удалить после того как станет не нужно
-
-import grpc
-import collections
-
-from typing import Optional
-
-from perxis.collections import collections_pb2
-from perxis.extensions import manager_pb2
-
-
-def make_descriptor(
-        extension_id: str, name: str, description: str,
-        version: str, version_description: str, host: str,
-        dependencies: Optional[list[str]] = None
-) -> manager_pb2.ExtensionDescriptor:
-    if dependencies is None:
-        dependencies = []
-
-    return manager_pb2.ExtensionDescriptor(
-        extension=extension_id,
-        title=name,
-        description=description,
-        version=version,
-        version_description=version_description,
-        deps=dependencies,
-        url=host
-    )
-
-
-def make_collection_instances(schemes_dir: str, schemes_mapping: dict[str, str]) -> list[collections_pb2.Collection]:
-    collections = []
-
-    for collection_id, collection_name in schemes_mapping.items():
-        with open(f"{schemes_dir}/{collection_id}.json", "r") as file:
-            collection_schema = file.read()
-
-        collection = collections_pb2.Collection(
-            id=collection_id,
-            name=collection_name,
-            schema=collection_schema
-        )
-
-        collections.append(collection)
-
-    return collections
-
-
-class _GenericClientInterceptor(grpc.UnaryUnaryClientInterceptor,
-                                grpc.UnaryStreamClientInterceptor,
-                                grpc.StreamUnaryClientInterceptor,
-                                grpc.StreamStreamClientInterceptor):
-
-    def __init__(self, interceptor_function):
-        self._fn = interceptor_function
-
-    def intercept_unary_unary(self, continuation, client_call_details, request):
-        new_details, new_request_iterator, postprocess = self._fn(
-            client_call_details, iter((request,)), False, False)
-        response = continuation(new_details, next(new_request_iterator))
-        return postprocess(response) if postprocess else response
-
-    def intercept_unary_stream(self, continuation, client_call_details,
-                               request):
-        new_details, new_request_iterator, postprocess = self._fn(
-            client_call_details, iter((request,)), False, True)
-        response_it = continuation(new_details, next(new_request_iterator))
-        return postprocess(response_it) if postprocess else response_it
-
-    def intercept_stream_unary(self, continuation, client_call_details,
-                               request_iterator):
-        new_details, new_request_iterator, postprocess = self._fn(
-            client_call_details, request_iterator, True, False)
-        response = continuation(new_details, new_request_iterator)
-        return postprocess(response) if postprocess else response
-
-    def intercept_stream_stream(self, continuation, client_call_details,
-                                request_iterator):
-        new_details, new_request_iterator, postprocess = self._fn(
-            client_call_details, request_iterator, True, True)
-        response_it = continuation(new_details, new_request_iterator)
-        return postprocess(response_it) if postprocess else response_it
-
-
-def create(intercept_call):
-    return _GenericClientInterceptor(intercept_call)
-
-
-class _ClientCallDetails(
-        collections.namedtuple(
-            '_ClientCallDetails',
-            ('method', 'timeout', 'metadata', 'credentials')),
-        grpc.ClientCallDetails):
-    pass
-
-
-def header_adder_interceptor(header, value):
-    def intercept_call(client_call_details, request_iterator, request_streaming,
-                       response_streaming):
-        metadata = []
-        if client_call_details.metadata is not None:
-            metadata = list(client_call_details.metadata)
-        metadata.append((
-            header,
-            value,
-        ))
-
-        client_call_details = _ClientCallDetails(
-            client_call_details.method, client_call_details.timeout, metadata,
-            client_call_details.credentials)
-        return client_call_details, request_iterator, None
-
-    return create(intercept_call)
\ No newline at end of file
diff --git a/examples/extension_service/server.py b/examples/extension_service/server.py
index e3c45ff767af18ab4bdcfa858f6f46fbab996f29..a4fb49cb79244b3f3bb8a01ef739f4a8e3361ad8 100644
--- a/examples/extension_service/server.py
+++ b/examples/extension_service/server.py
@@ -6,9 +6,9 @@ from perxis.environments import environments_pb2_grpc
 from perxis.roles import roles_pb2_grpc
 from perxis.clients import clients_pb2_grpc
 from perxis.extensions import extension_pb2_grpc, manager_pb2_grpc, manager_pb2
+from perxis.interceptors import header_adder_interceptor
 
 from servicer import Servicer
-from helpers import header_adder_interceptor
 from constants.extension import get_extension_descriptor
 
 
diff --git a/examples/extension_service/servicer.py b/examples/extension_service/servicer.py
index 82ec915f31aaa482e818b34250ee6c98e4a43983..12a84558f9aa622886e3ab11320e14175925eb15 100644
--- a/examples/extension_service/servicer.py
+++ b/examples/extension_service/servicer.py
@@ -1,9 +1,9 @@
 from constants import extension
-from helpers import make_collection_instances
 from constants import collections
 
 
 from perxis.extensions.extension_service import ExtensionService
+from perxis.collections import helpers as collections_helpers
 from perxis.roles import roles_pb2
 from perxis.common import common_pb2
 from perxis.clients import clients_pb2
@@ -11,7 +11,7 @@ from perxis.clients import clients_pb2
 
 class Servicer(ExtensionService):
     extension_id = extension.ID
-    collections = make_collection_instances("./schemes", collections.schemes_mapping)
+    collections = collections_helpers.make_collection_instances("./schemes", collections.schemes_mapping)
     roles = [
         roles_pb2.Role(
             id="demo-role",
diff --git a/perxis/extensions/extension_setup.py b/perxis/extensions/extension_setup.py
index 2445a38a7a69683bf199cc1cbc2932a027ffb422..6f42a6261c44f98210dc80d7c5cc1243d95fb20c 100644
--- a/perxis/extensions/extension_setup.py
+++ b/perxis/extensions/extension_setup.py
@@ -284,7 +284,7 @@ class ExtensionSetup:
                         collections_pb2.CreateRequest(collection=cloned_collection)
                     )
 
-                    collection = create_response.collection
+                    collection = create_response.created
                 except grpc.RpcError as e:
                     errors_list.append(f"Не удалось создать коллекцию {local_collection.id}, {e.details()}")