diff --git a/bob/bio/face/database/__init__.py b/bob/bio/face/database/__init__.py
index 252f570562ac6d50025152cbd6f666a4f77a25ee..6d839b5f8019cadb40ee2e8907ae1fa20ebcdd98 100644
--- a/bob/bio/face/database/__init__.py
+++ b/bob/bio/face/database/__init__.py
@@ -20,6 +20,9 @@ from .scface import SCFaceBioDatabase
 from .replaymobile import ReplayMobileBioDatabase
 from .msu_mfsd_mod import MsuMfsdModBioDatabase
 
+from .fargo import FargoBioDatabase
+
+
 # gets sphinx autodoc done right - don't remove it
 
 
diff --git a/bob/bio/face/database/fargo.py b/bob/bio/face/database/fargo.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ebc874eafa0fbd5902c295a390c841f3bc66da5
--- /dev/null
+++ b/bob/bio/face/database/fargo.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+
+"""
+  FARGO database implementation of bob.bio.base.database.Database interface.
+  It is an extension of an SQL-based database interface, which directly talks to FARGO database, for
+  verification experiments (good to use in bob.bio.base framework).
+"""
+
+import os
+import bob.db.base
+
+from .database import FaceBioFile
+from bob.bio.base.database import BioDatabase
+
+
+class FargoBioDatabase(BioDatabase):
+    """
+    FARGO database implementation of :py:class:`bob.bio.base.database.BioDatabase` interface.
+    It is an extension of the database interface, which directly talks to ATNT database, for
+    verification experiments (good to use in bob.bio.base framework).
+    """
+
+    def __init__(
+            self,
+            original_directory=None,
+            original_extension='.png',
+            protocol='mc-rgb',
+            **kwargs
+    ):
+        # call base class constructors to open a session to the database
+        super(FargoBioDatabase, self).__init__(
+            name='fargo',
+            original_directory=original_directory,
+            original_extension=original_extension,
+            protocol=protocol,
+            **kwargs)
+
+        from bob.db.fargo.query import Database as LowLevelDatabase
+        self._db = LowLevelDatabase(original_directory, original_extension, protocol=protocol)
+
+    def objects(self, groups=None, purposes=None, protocol=None, model_ids=None, **kwargs):
+        retval = self._db.objects(protocol=protocol, groups=groups, purposes=purposes, model_ids=model_ids, **kwargs)
+        return [FaceBioFile(client_id=f.client_id, path=f.path, file_id=f.id) for f in retval]
+    
+    def model_ids_with_protocol(self, groups=None, protocol=None, **kwargs):
+        return self._db.model_ids(groups=groups, protocol=protocol)
+
+    def annotations(self, file):
+      
+      if self.annotation_directory is None:
+          return None
+
+      annotation_file = os.path.join(self.annotation_directory, file.path + self.annotation_extension)
+      return bob.db.base.read_annotation_file(annotation_file, 'eyecenter')
+  
+    
diff --git a/setup.py b/setup.py
index a1ea40f72720edd134ffc2f0c7e4cf4566b26874..942080a27c247e31f14daf3f717e8fa36b3fe0a1 100644
--- a/setup.py
+++ b/setup.py
@@ -136,6 +136,8 @@ setup(
             'replay-img-spoof  = bob.bio.face.config.database.replay:replay_spoof',
             'replaymobile-img-licit  = bob.bio.face.config.database.replaymobile:replaymobile_licit',
             'replaymobile-img-spoof  = bob.bio.face.config.database.replaymobile:replaymobile_spoof',
+            
+            'fargo  = bob.bio.face.config.database.fargo:database',
         ],
 
         'bob.bio.annotator': [