diff --git a/bindings/notifications.go b/bindings/notifications.go
new file mode 100644
index 0000000000000000000000000000000000000000..bbc79ca79c028ceac33a5ba1e972119f904aa4ba
--- /dev/null
+++ b/bindings/notifications.go
@@ -0,0 +1,97 @@
+////////////////////////////////////////////////////////////////////////////////
+// Copyright © 2020 xx network SEZC                                           //
+//                                                                            //
+// Use of this source code is governed by a license that can be found in the  //
+// LICENSE file                                                               //
+////////////////////////////////////////////////////////////////////////////////
+
+package bindings
+
+// FIXME: This is the old NotificationsForMe code that needs to be fixed
+/*
+type NotificationForMeReport struct {
+	ForMe  bool
+	Type   string
+	Source []byte
+}
+
+type ManyNotificationForMeReport struct {
+	Many []*NotificationForMeReport
+}
+
+// NotificationsForMe Check if a notification received is for me
+// It returns a NotificationForMeReport which contains a ForMe bool stating if it is for the caller,
+// a Type, and a source. These are as follows:
+//	TYPE       	SOURCE				DESCRIPTION
+// 	"default"	recipient user ID	A message with no association
+//	"request"	sender user ID		A channel request has been received
+//	"reset"	    sender user ID		A channel reset has been received
+//	"confirm"	sender user ID		A channel request has been accepted
+//	"silent"	sender user ID		A message which should not be notified on
+//	"e2e"		sender user ID		reception of an E2E message
+//	"group"		group ID			reception of a group chat message
+//  "endFT"     sender user ID		Last message sent confirming end of file transfer
+//  "groupRQ"   sender user ID		Request from sender to join a group chat
+func NotificationsForMe(notifCSV, preimages string) (*ManyNotificationForMeReport, error) {
+	// Handle deserialization of preimages
+	var preimageList []edge.Preimage
+	if err := json.Unmarshal([]byte(preimages), &preimageList); err != nil {
+		return nil, errors.WithMessagef(err, "Failed to unmarshal the " +
+			"preimages list, cannot check if notification is for me")
+	}
+
+	list, err := notifications.DecodeNotificationsCSV(notifCSV)
+	if err != nil {
+		return nil, err
+	}
+
+	notifList := make([]*NotificationForMeReport, len(list))
+
+	for i, notifData := range list {
+		notifList[i] = &NotificationForMeReport{
+			ForMe:  false,
+			Type:   "",
+			Source: nil,
+		}
+		// check if any preimages match with the passed in data
+		for _, preimage := range preimageList {
+			if fingerprint.CheckIdentityFpFromMessageHash(notifData.IdentityFP, notifData.MessageHash, preimage.Data) {
+				notifList[i] = &NotificationForMeReport{
+					ForMe:  true,
+					Type:   preimage.Type,
+					Source: preimage.Source,
+				}
+				break
+			}
+		}
+	}
+
+	return &ManyNotificationForMeReport{notifList}, nil
+}*/
+
+// RegisterForNotifications allows a client to register for push notifications.
+// The token is a firebase messaging token.
+//
+// Parameters:
+//  - e2eId - ID of the E2E object in the E2E tracker
+func RegisterForNotifications(e2eId int, token string) error {
+	user, err := e2eTrackerSingleton.get(e2eId)
+	if err != nil {
+		return err
+	}
+
+	return user.api.RegisterForNotifications(token)
+}
+
+// UnregisterForNotifications turns off notifications for this client.
+//
+// Parameters:
+//  - e2eId - ID of the E2E object in the E2E tracker
+func UnregisterForNotifications(e2eId int) error {
+	user, err := e2eTrackerSingleton.get(e2eId)
+	if err != nil {
+		return err
+	}
+
+	return user.api.UnregisterForNotifications()
+}