diff --git a/include/storage/storage.h b/include/storage/storage.h
index 277a9da..593f515 100644
--- a/include/storage/storage.h
+++ b/include/storage/storage.h
@@ -45,6 +45,7 @@ CLASS(Storage) {
StoragePutResult storagePut(Storage, char *, size_t, char *, size_t);
StoragePutResult storageUpdate(Storage, char *, size_t, char *, size_t);
void storageGet(Storage, char *, size_t, char **, size_t *);
+int storageDelete(Storage, char *, size_t);
#endif // __STORAGE_H__
diff --git a/src/storage/Makefile.am b/src/storage/Makefile.am
index 8bd34f0..33a2e45 100644
--- a/src/storage/Makefile.am
+++ b/src/storage/Makefile.am
@@ -5,5 +5,5 @@ AM_CFLAGS += -I../../include/
noinst_LTLIBRARIES = libstorage.la
-libstorage_la_SOURCES = storage.c get.c put.c update.c
+libstorage_la_SOURCES = storage.c get.c put.c update.c delete.c
libstorage_la_CFLAGS = $(AM_CFLAGS)
diff --git a/src/storage/delete.c b/src/storage/delete.c
new file mode 100644
index 0000000..3b5ba2d
--- /dev/null
+++ b/src/storage/delete.c
@@ -0,0 +1,49 @@
+/**
+ * \file
+ *
+ * \author Georg Hopp
+ *
+ * \copyright
+ * Copyright © 2012 Georg Hopp
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include
+#include
+#include
+
+#include "class.h"
+#include "storage/storage.h"
+
+#include "utils/memory.h"
+#include "commons.h"
+
+int
+storageDelete(Storage this, char * _key, size_t nkey)
+{
+ datum key = {_key, nkey};
+
+ switch (gdbm_delete(this->gdbm, key)) {
+ case 0:
+ return TRUE;
+ case -1:
+ default:
+ return FALSE;
+ }
+
+ return FALSE;
+}
+
+// vim: set ts=4 sw=4: