diff --git a/cern_ldap_api.services.yml b/cern_ldap_api.services.yml
new file mode 100644
index 0000000000000000000000000000000000000000..008e6030478c7ecfbd8e330add3534780fd2acb6
--- /dev/null
+++ b/cern_ldap_api.services.yml
@@ -0,0 +1,3 @@
+services:
+  cern_lda_api.cernldap:
+    class: Drupal\cern_ldap_api\CERNLdapService
\ No newline at end of file
diff --git a/src/CERNLdapService.php b/src/CERNLdapService.php
index 295a57aa9ba0be8eef61fb8beac67c6f90e07476..fca528794c837121272f14308104598637dba89f 100644
--- a/src/CERNLdapService.php
+++ b/src/CERNLdapService.php
@@ -2,4 +2,23 @@
 
 namespace Drupal\cern_ldap_api;
 
-Class CERNLdapService
\ No newline at end of file
+/**
+ * CERNLdapService is a service to contact CERN Ldap service
+ */
+
+Class CERNLdapService {
+  private $server_host = "xldap.cern.ch";
+
+  /**
+   * Resolves emails for an e-group
+   * @param string $egroup
+   *   The egroup name in simple formar, ex: drupal-admins
+   * @param bool $recursive
+   *   Flag to enable/disable recursive lookup of inner e-groups
+   */
+  public function resolveEgroup($egroup, $recursive) {
+      
+  }
+
+
+}
\ No newline at end of file