diff --git a/README.md b/README.md
index 302768742e371961fef4a01c944e09caee2573e2..b5a0547f59bf91ab097064035a081db05d464bc7 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,22 @@
-# DbpRelayLdapPersonProviderBundle
+# DbpRelayBasePersonConnectorLdapBundle
 
-[GitLab](https://gitlab.tugraz.at/dbp/relay/dbp-relay-ldap-person-provider-bundle) | [Packagist](https://packagist.org/packages/dbp/relay-ldap-person-provider-bundle)
+[GitLab](https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-person-connector-ldap-bundle) | [Packagist](https://packagist.org/packages/dbp/relay-base-person-connector-ldap-bundle)
 
-This Symfony bundle contains LDAPPersonProvider services for the DBP Relay project.
+This Symfony bundle contains BasePersonConnectorLdap services for the DBP Relay project.
 
 ## Integration into the API Server
 
 * Add the bundle package as a dependency:
 
 ```
-composer require dbp/relay-ldap-person-provider-bundle
+composer require dbp/relay-base-person-connector-ldap-bundle
 ```
 
 * Add the bundle to your `config/bundles.php`:
 
 ```php
 ...
-Dbp\Relay\LdapPersonProviderBundle\DbpRelayLdapPersonProviderBundle::class => ['all' => true],
+Dbp\Relay\BasePersonConnectorLdapBundle\DbpRelayBasePersonConnectorLdapBundle::class => ['all' => true],
 DBP\API\CoreBundle\DbpCoreBundle::class => ['all' => true],
 ];
 ```
@@ -28,17 +28,17 @@ DBP\API\CoreBundle\DbpCoreBundle::class => ['all' => true],
 The bundle has some configuration values that you can specify in your
 app, either by hardcoding it, or by referencing an environment variable.
 
-For this create `config/packages/dbp_relay_ldap_person_provider.yaml` in the app with the following
+For this create `config/packages/dbp_relay_base_person_connector_ldap.yaml` in the app with the following
 content:
 
 ```yaml
-dbp_relay_ldap_person_provider:
+dbp_relay_base_person_connector_ldap:
   co_oauth2_ucardapi_api_url:
   co_oauth2_ucardapi_client_id:
   co_oauth2_ucardapi_client_secret:
 ```
 
-The value gets read in `DbpRelayLdapPersonProviderExtension` and passed when creating the
+The value gets read in `DbpRelayBasePersonConnectorLdapExtension` and passed when creating the
 `UCardService` service.
 
 For more info on bundle configuration see
@@ -56,6 +56,6 @@ https://symfony.com/doc/current/bundles/configuration.html
 Don't forget you need to pull down your dependencies in your main application if you are installing packages in a bundle.
 
 ```bash
-# updates and installs dependencies from dbp/relay-ldap-person-provider-bundle
-composer update dbp/relay-ldap-person-provider-bundle
+# updates and installs dependencies from dbp/relay-base-person-connector-ldap-bundle
+composer update dbp/relay-base-person-connector-ldap-bundle
 ```
diff --git a/composer.json b/composer.json
index 05bd19a389c9c2d3e552c9b4e240a263b655b1ce..80a5ca16accb38c70ddf1e633e32a587d2b6e62c 100644
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
 {
-    "name": "dbp/relay-ldap-person-provider-bundle",
+    "name": "dbp/relay-base-person-connector-ldap-bundle",
     "type": "symfony-bundle",
     "license": "AGPL-3.0-or-later",
     "require": {
@@ -26,12 +26,12 @@
     },
     "autoload": {
         "psr-4": {
-            "Dbp\\Relay\\LdapPersonProviderBundle\\": "src/"
+            "Dbp\\Relay\\BasePersonConnectorLdapBundle\\": "src/"
         }
     },
     "autoload-dev": {
         "psr-4": {
-            "Dbp\\Relay\\LdapPersonProviderBundle\\Tests\\": "tests/"
+            "Dbp\\Relay\\BasePersonConnectorLdapBundle\\Tests\\": "tests/"
         }
     },
     "config": {
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 1b7a3d049f6a7ee866a8823e90b1d5293007367f..88fb7da17b0c05bf273913ed00c1a3bedaf2cf18 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -14,7 +14,7 @@
     <server name="SYMFONY_PHPUNIT_REMOVE" value=""/>
     <server name="SYMFONY_PHPUNIT_VERSION" value="9"/>
     <server name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
-    <server name="KERNEL_CLASS" value="Dbp\Relay\LdapPersonProviderBundle\Tests\Kernel"/>
+    <server name="KERNEL_CLASS" value="Dbp\Relay\BasePersonConnectorLdapBundle\Tests\Kernel"/>
   </php>
   <testsuites>
     <testsuite name="Project Test Suite">
diff --git a/src/API/LDAPApiProviderInterface.php b/src/API/LDAPApiProviderInterface.php
index 396c22654f890c123869f45ed81e82c5de2a213c..51d9bc35e2277dcfce62e49412fbe5abbfa447d9 100644
--- a/src/API/LDAPApiProviderInterface.php
+++ b/src/API/LDAPApiProviderInterface.php
@@ -2,7 +2,7 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\API;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\API;
 
 use Dbp\Relay\BasePersonBundle\Entity\Person;
 
diff --git a/src/DbpRelayLdapPersonProviderBundle.php b/src/DbpRelayBasePersonConnectorLdapBundle.php
similarity index 66%
rename from src/DbpRelayLdapPersonProviderBundle.php
rename to src/DbpRelayBasePersonConnectorLdapBundle.php
index 2c3024b6cf6361276b97ae01e650a1adc96eb176..e6bb820153d4415d64fa9c52fdd1601fb69a4087 100644
--- a/src/DbpRelayLdapPersonProviderBundle.php
+++ b/src/DbpRelayBasePersonConnectorLdapBundle.php
@@ -2,12 +2,12 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle;
 
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\HttpKernel\Bundle\Bundle;
 
-class DbpRelayLdapPersonProviderBundle extends Bundle
+class DbpRelayBasePersonConnectorLdapBundle extends Bundle
 {
     public function build(ContainerBuilder $container)
     {
diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php
index ee06048f10bcb4079111d8843bcaf79ccfda8282..c91b3c53f23dd4a6e49e5ae0c2eeea5adefc7236 100644
--- a/src/DependencyInjection/Configuration.php
+++ b/src/DependencyInjection/Configuration.php
@@ -2,7 +2,7 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\DependencyInjection;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\DependencyInjection;
 
 use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
 use Symfony\Component\Config\Definition\Builder\TreeBuilder;
@@ -12,7 +12,7 @@ class Configuration implements ConfigurationInterface
 {
     public function getConfigTreeBuilder()
     {
-        $treeBuilder = new TreeBuilder('dbp_relay_ldap_person_provider');
+        $treeBuilder = new TreeBuilder('dbp_relay_base_person_connector_ldap');
 
         /** @var ArrayNodeDefinition $rootNode */
         $rootNode = $treeBuilder->getRootNode();
diff --git a/src/DependencyInjection/DbpRelayLdapPersonProviderExtension.php b/src/DependencyInjection/DbpRelayBasePersonConnectorLdapExtension.php
similarity index 88%
rename from src/DependencyInjection/DbpRelayLdapPersonProviderExtension.php
rename to src/DependencyInjection/DbpRelayBasePersonConnectorLdapExtension.php
index 45af31c3aa5e3d2c519b60a05ecaf5b1b7785a08..8155ad0c53e69f81f857aeae10b350af1de1dc96 100644
--- a/src/DependencyInjection/DbpRelayLdapPersonProviderExtension.php
+++ b/src/DependencyInjection/DbpRelayBasePersonConnectorLdapExtension.php
@@ -2,7 +2,7 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\DependencyInjection;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\DependencyInjection;
 
 use Symfony\Component\Cache\Adapter\FilesystemAdapter;
 use Symfony\Component\Config\FileLocator;
@@ -10,7 +10,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
 use Symfony\Component\HttpKernel\DependencyInjection\ConfigurableExtension;
 
-class DbpRelayLdapPersonProviderExtension extends ConfigurableExtension
+class DbpRelayBasePersonConnectorLdapExtension extends ConfigurableExtension
 {
     public function loadInternal(array $mergedConfig, ContainerBuilder $container)
     {
@@ -30,7 +30,7 @@ class DbpRelayLdapPersonProviderExtension extends ConfigurableExtension
         $personCacheDef->addTag('cache.pool');
 
         // Inject the config value into the UCardService service
-        $definition = $container->getDefinition('Dbp\Relay\LdapPersonProviderBundle\Service\LDAPApi');
+        $definition = $container->getDefinition('Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPApi');
         $definition->addMethodCall('setConfig', [$mergedConfig]);
         $definition->addMethodCall('setLDAPCache', [$ldapCache, 360]);
         $definition->addMethodCall('setPersonCache', [$personCacheDef]);
diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml
index b5eb3275b4dcf43ca331409c45f63f73452ee416..8fbc7f6e5748d6ea1ad7feeeeddaeb78e754af40 100644
--- a/src/Resources/config/services.yaml
+++ b/src/Resources/config/services.yaml
@@ -1,14 +1,14 @@
 services:
-  Dbp\Relay\LdapPersonProviderBundle\Service\:
+  Dbp\Relay\BasePersonConnectorLdapBundle\Service\:
     resource: '../../Service'
     autowire: true
     autoconfigure: true
 
   Dbp\Relay\BasePersonBundle\API\PersonProviderInterface:
-    '@Dbp\Relay\LdapPersonProviderBundle\Service\LDAPPersonProvider'
+    '@Dbp\Relay\BasePersonConnectorLdapBundle\Service\BasePersonConnectorLdap'
 
   Dbp\Relay\AuthBundle\API\UserRolesInterface:
-    '@Dbp\Relay\LdapPersonProviderBundle\Service\CustomUserRoles'
+    '@Dbp\Relay\BasePersonConnectorLdapBundle\Service\CustomUserRoles'
 
-  Dbp\Relay\LdapPersonProviderBundle\API\LDAPApiProviderInterface:
-    '@Dbp\Relay\LdapPersonProviderBundle\Service\DummyLDAPApiProvider'
+  Dbp\Relay\BasePersonConnectorLdapBundle\API\LDAPApiProviderInterface:
+    '@Dbp\Relay\BasePersonConnectorLdapBundle\Service\DummyLDAPApiProvider'
diff --git a/src/Resources/config/services_test.yaml b/src/Resources/config/services_test.yaml
index 9f7b377944dc200356818b5c56feb83847fd2a99..7ca9a824a0c6f8f9e7b8b84ae2fd72ab22d4f624 100644
--- a/src/Resources/config/services_test.yaml
+++ b/src/Resources/config/services_test.yaml
@@ -1,7 +1,7 @@
 services:
-  Dbp\Relay\LdapPersonProviderBundle\TestUtils\DummyLDAPApiProvider:
+  Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider:
     autowire: true
     autoconfigure: true
 
   Dbp\Relay\BasePersonBundle\API\PersonProviderInterface:
-    '@Dbp\Relay\LdapPersonProviderBundle\TestUtils\DummyLDAPApiProvider'
+    '@Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider'
diff --git a/src/Service/CustomUserRoles.php b/src/Service/CustomUserRoles.php
index 943b9f14c92867d35c45ce9aef921e91ac627dfa..2c1634c90f59a6d72679e1331f1a3291ecbc6ea1 100644
--- a/src/Service/CustomUserRoles.php
+++ b/src/Service/CustomUserRoles.php
@@ -2,7 +2,7 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\Service;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\Service;
 
 use Dbp\Relay\AuthBundle\API\UserRolesInterface;
 
diff --git a/src/Service/DummyLDAPApiProvider.php b/src/Service/DummyLDAPApiProvider.php
index 4ed67b1debf625ca32eb3aa68eb9c608db5f6f8d..a54c492c5f012bac8582801fcdeb3689540164cc 100644
--- a/src/Service/DummyLDAPApiProvider.php
+++ b/src/Service/DummyLDAPApiProvider.php
@@ -2,10 +2,10 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\Service;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\Service;
 
 use Dbp\Relay\BasePersonBundle\Entity\Person;
-use Dbp\Relay\LdapPersonProviderBundle\API\LDAPApiProviderInterface;
+use Dbp\Relay\BasePersonConnectorLdapBundle\API\LDAPApiProviderInterface;
 use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
 
 class DummyLDAPApiProvider implements LDAPApiProviderInterface
diff --git a/src/Service/LDAPApi.php b/src/Service/LDAPApi.php
index 75edf819495180cc813cd91d3c0baf3ae2864bbc..3cf9726e9890d690832735b0f3337d802e4a657b 100644
--- a/src/Service/LDAPApi.php
+++ b/src/Service/LDAPApi.php
@@ -7,7 +7,7 @@ declare(strict_types=1);
  * @see https://github.com/Adldap2/Adldap2
  */
 
-namespace Dbp\Relay\LdapPersonProviderBundle\Service;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\Service;
 
 use Adldap\Adldap;
 use Adldap\Connections\Provider;
@@ -15,10 +15,10 @@ use Adldap\Connections\ProviderInterface;
 use Adldap\Models\User;
 use Adldap\Query\Builder;
 use Dbp\Relay\BasePersonBundle\Entity\Person;
+use Dbp\Relay\BasePersonConnectorLdapBundle\API\LDAPApiProviderInterface;
 use Dbp\Relay\CoreBundle\API\UserSessionInterface;
 use Dbp\Relay\CoreBundle\Exception\ApiError;
 use Dbp\Relay\CoreBundle\Helpers\Tools as CoreTools;
-use Dbp\Relay\LdapPersonProviderBundle\API\LDAPApiProviderInterface;
 use Psr\Cache\CacheItemPoolInterface;
 use Psr\Container\ContainerInterface;
 use Psr\Log\LoggerAwareInterface;
diff --git a/src/Service/LDAPPersonProvider.php b/src/Service/LDAPPersonProvider.php
index 9bb98b4ae5dbc86054135a026ee1bcb9f9112d64..c2f83d59c42717a5fbb49e43da71a162b1ee07ec 100644
--- a/src/Service/LDAPPersonProvider.php
+++ b/src/Service/LDAPPersonProvider.php
@@ -2,12 +2,12 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\Service;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\Service;
 
 use Dbp\Relay\BasePersonBundle\API\PersonProviderInterface;
 use Dbp\Relay\BasePersonBundle\Entity\Person;
 
-class LDAPPersonProvider implements PersonProviderInterface
+class BasePersonConnectorLdap implements PersonProviderInterface
 {
     private $ldapApi;
 
diff --git a/src/TestUtils/DummyLDAPApiProvider.php b/src/TestUtils/DummyLDAPApiProvider.php
index 57f654245b56a99fd0918d3742be4531fdf5fe13..ffdf2816bd7cd029705c788bd16ac33f2d19c2db 100644
--- a/src/TestUtils/DummyLDAPApiProvider.php
+++ b/src/TestUtils/DummyLDAPApiProvider.php
@@ -2,10 +2,10 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\TestUtils;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils;
 
 use Dbp\Relay\BasePersonBundle\Entity\Person;
-use Dbp\Relay\LdapPersonProviderBundle\API\LDAPApiProviderInterface;
+use Dbp\Relay\BasePersonConnectorLdapBundle\API\LDAPApiProviderInterface;
 use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
 
 class DummyLDAPApiProvider implements LDAPApiProviderInterface
diff --git a/tests/Kernel.php b/tests/Kernel.php
index ce54cd24ec468cc2ebdbd6541927f9a8d3a8e84d..75255adbb41d99b0f9667d339da8391ff3df9d8b 100644
--- a/tests/Kernel.php
+++ b/tests/Kernel.php
@@ -2,12 +2,12 @@
 
 declare(strict_types=1);
 
-namespace Dbp\Relay\LdapPersonProviderBundle\Tests;
+namespace Dbp\Relay\BasePersonConnectorLdapBundle\Tests;
 
 use ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle;
 use Dbp\Relay\BasePersonBundle\DbpRelayBasePersonBundle;
+use Dbp\Relay\BasePersonConnectorLdapBundle\DbpRelayBasePersonConnectorLdapBundle;
 use Dbp\Relay\CoreBundle\DbpRelayCoreBundle;
-use Dbp\Relay\LdapPersonProviderBundle\DbpRelayLdapPersonProviderBundle;
 use Nelmio\CorsBundle\NelmioCorsBundle;
 use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
 use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
@@ -27,7 +27,7 @@ class Kernel extends BaseKernel
         yield new ApiPlatformBundle();
         yield new DbpRelayBasePersonBundle();
         yield new DbpRelayCoreBundle();
-        yield new DbpRelayLdapPersonProviderBundle();
+        yield new DbpRelayBasePersonConnectorLdapBundle();
         yield new NelmioCorsBundle();
         yield new SecurityBundle();
         yield new TwigBundle();
@@ -36,13 +36,13 @@ class Kernel extends BaseKernel
     protected function configureContainer(ContainerConfigurator $container, LoaderInterface $loader)
     {
         $container->import('@DbpRelayCoreBundle/Resources/config/services_test.yaml');
-        $container->import('@DbpRelayLdapPersonProviderBundle/Resources/config/services_test.yaml');
+        $container->import('@DbpRelayBasePersonConnectorLdapBundle/Resources/config/services_test.yaml');
         $container->extension('framework', [
             'test' => true,
             'secret' => '',
         ]);
 
-        $container->extension('dbp_relay_ldap_person_provider', [
+        $container->extension('dbp_relay_base_person_connector_ldap', [
             'ldap' => [],
         ]);
     }
diff --git a/tests/PersonTest.php b/tests/PersonTest.php
index f037d118ba9bdabf5464088555f819c51380325f..1ab436a5e6d019df96e9fc30c921ff78299a6d4d 100644
--- a/tests/PersonTest.php
+++ b/tests/PersonTest.php
@@ -9,9 +9,9 @@ use Adldap\Models\User as AdldapUser;
 use Adldap\Query\Builder;
 use Adldap\Query\Grammar;
 use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
-use Dbp\Relay\LdapPersonProviderBundle\Service\LDAPApi;
-use Dbp\Relay\LdapPersonProviderBundle\Service\LDAPPersonProvider;
-use Dbp\Relay\LdapPersonProviderBundle\TestUtils\DummyLDAPApiProvider;
+use Dbp\Relay\BasePersonConnectorLdapBundle\Service\BasePersonConnectorLdap;
+use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPApi;
+use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\DummyLDAPApiProvider;
 use Mockery;
 
 class PersonTest extends ApiTestCase
@@ -22,7 +22,7 @@ class PersonTest extends ApiTestCase
     private $api;
 
     /**
-     * @var LDAPPersonProvider
+     * @var BasePersonConnectorLdap
      */
     private $provider;
 
@@ -40,7 +40,7 @@ class PersonTest extends ApiTestCase
             ],
         ]);
 
-        $this->provider = new LDAPPersonProvider($this->api);
+        $this->provider = new BasePersonConnectorLdap($this->api);
     }
 
     public function testBasic()