diff --git a/_states/gerrit.py b/_states/gerrit.py
new file mode 100644
index 0000000..8bbdb77
--- /dev/null
+++ b/_states/gerrit.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+'''
+Management of gerrit projects
+==============================
+
+:depends:   - gerritlib Python module
+:configuration: See :py:mod:`salt.modules.gerrit` for setup instructions.
+
+.. code-block:: yaml
+
+    gerrit project:
+      gerrit.project_present:
+      - name: gerrit project
+
+'''
+
+
+def __virtual__():
+    '''
+    Only load if the gerrit module is in __salt__
+    '''
+    return 'gerrit' if 'gerrit.auth' in __salt__ else False
+
+
+def project_present(name, description=None, **kwargs):
+    '''
+    Ensures that the gerrit project exists
+    
+    :param name: new project name
+    :param description: short project description
+    '''
+    ret = {'name': name,
+           'changes': {},
+           'result': True,
+           'comment': 'Project "{0}" already exists'.format(name)}
+
+    # Check if project is already present
+    project = __salt__['gerrit.project_get'](name=name, **kwargs)
+
+    if 'Error' not in project:
+        #update project
+        pass
+    else:
+        # Create project
+        __salt__['gerrit.project_create'](name, **kwargs)
+        ret['comment'] = 'Project "{0}" has been added'.format(name)
+        ret['changes']['Project'] = 'Created'
+    return ret
