diff --git a/src/utils/menus.h b/src/utils/menus.h
new file mode 100644
index 0000000..6e63dc1
--- /dev/null
+++ b/src/utils/menus.h
@@ -0,0 +1,54 @@
+/*
+ *  Copyright (C) 2015 Savoir-faire Linux Inc.
+ *  Author: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
+ *
+ *  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, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ *
+ *  Additional permission under GNU GPL version 3 section 7:
+ *
+ *  If you modify this program, or any covered work, by linking or
+ *  combining it with the OpenSSL project's OpenSSL library (or a
+ *  modified version of that library), containing parts covered by the
+ *  terms of the OpenSSL or SSLeay licenses, Savoir-faire Linux Inc.
+ *  grants you additional permission to convey the resulting work.
+ *  Corresponding Source for a non-source form of such a combination
+ *  shall include the source code for the parts of OpenSSL used as well
+ *  as that of the covered work.
+ */
+
+#ifndef _MENUS_H
+#define _MENUS_H
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+class ContactMethod;
+
+/**
+ * checks if the given contact method is already associated with a contact
+ */
+gboolean    contact_method_has_contact(ContactMethod *cm);
+
+/**
+ * creates a menu item with 2 options:
+ *  - create a new contact with the given contact method
+ *  TODO: - add given contact method to existing contact
+ */
+GtkWidget * menu_item_contact_add_to(ContactMethod *cm, GtkWidget *parent);
+
+G_END_DECLS
+
+#endif /* _MENUS_H */
