--- a/backend/webserver/api/c2net/controller.js
+++ b/backend/webserver/api/c2net/controller.js
@@ -1,8 +1,8 @@
 'use strict';
 
-var logger, core;
-var NAMESPACE = '/mobiles';
-var mobileNamespace;
+var logger, core,
+    user = require('./db/user.js'),
+    socket = require('../../../ws/mobile.js');
 
 
 function sayHello(req, res) {
@@ -12,143 +12,155 @@
 
 module.exports = function(dependencies) {
   var PubSub = dependencies('pubsub').local;
-  // var io = dependencies('wsserver').io;
-
-  // console.log('Something is wrong here!!!');
-  // console.log(io);
-  // console.log(dependencies('wsserver'));
-/*
-  io.on('connection', function(socket){
-    console.log("One socket client is connected !!!");
-    socket.emit('notification', { hello: 'world' });
-    socket.on('disconnect', function(){
-      console.log("One socket client is disconnected !!!");
-    });
-  });
-*/
-  // mobileNamespace = io.of(NAMESPACE);
-  // mobileNamespace.on('connection', function(socket) {
-  //   logger.info('New connection on ' + NAMESPACE);
-  //
-  //   // socket.on('subscribe', function(bookId) {
-  //   //   logger.info('Joining contact room', bookId);
-  //   //   socket.join(bookId);
-  //   // });
-  //   //
-  //   // socket.on('unsubscribe', function(bookId) {
-  //   //   logger.info('Leaving contact room', bookId);
-  //   //   socket.leave(bookId);
-  //   // });
-  // });
-  //
-  // mobileNamespace.emit('notification','hello');
+  var PubSubG = dependencies('pubsub').global;
+  
 
 
-// setInterval(function(){
-//   console.log(dependencies('wsserver'));
-// },5000);
+  // User login ------------------------------------------------------------------------------
+  PubSub.topic('login:success').subscribe(function(data) {
+    logger.info("Login successfully!");
+    
+    var notif = {
+      title:'Login successfully',
+      msg: 'Welcome to C2NET!',
+      status: 'unread',
+      type: 'login'
+    };
+    
+    user.newNotification(data._id, notif);
+    socket.emit(data._id, notif);
+    
+  });
+
+  PubSub.topic('login:failure').subscribe(function(data) {
+    logger.info("Login failure!");
+
+    var notif = {
+      title: 'Login failure',
+      msg: 'You or someone was attempting to login with wrong password!',
+      status: 'unread',
+      type: 'login'
+    };
+    
+    user.newNotification(data._id, notif);
+    socket.emit(data._id,notif);
+
+  });
 
   // Community -------------------------------------------------------------------------------------------
   PubSub.topic('community:join').subscribe(function(data) {
-    console.log(data);
-    console.log("Join community successfully!");
+    // logger.info(data);
+    logger.info("Join community successfully!");
   });
 
   PubSub.topic('community:leave').subscribe(function(data) {
-    console.log(data);
-    console.log("Leave community successfully!");
+    // logger.info(data);
+    logger.info("Leave community successfully!");
   });
 
   PubSub.topic('community:membership:invitation:cancel').subscribe(function(data) {
-    console.log(data);
-    console.log("Cancel invitation of joining into the community!");
+    // logger.info(data);
+    logger.info("Cancel invitation of joining into the community!");
   });
 
   PubSub.topic('community:membership:invitation:decline').subscribe(function(data) {
-    console.log(data);
-    console.log("Invitation of membership in the community is declined!");
+    // logger.info(data);
+    logger.info("Invitation of membership in the community is declined!");
   });
 
   PubSub.topic('community:membership:request:refuse').subscribe(function(data) {
-    console.log(data);
-    console.log("The request of membership in the communicty is refused!");
+    // logger.info(data);
+    logger.info("The request of membership in the communicty is refused!");
   });
 
   PubSub.topic('community:membership:request:cancel').subscribe(function(data) {
-    console.log(data);
-    console.log("The request of membership in the community is cannceled");
+    // logger.info(data);
+    logger.info("The request of membership in the community is cannceled");
   });
 
   PubSub.topic('community:membership:invite').subscribe(function(data) {
-    console.log(data);
-    console.log("There is an invitation of being a member in the community!");
+    // logger.info(data);
+    logger.info("There is an invitation of being a member in the community!");
   });
 
   PubSub.topic('community:membership:request').subscribe(function(data) {
-    console.log(data);
-    console.log("There is a request of being a member in the community!");
-  });
-
-  // User login ------------------------------------------------------------------------------
-  PubSub.topic('login:success').subscribe(function(data) {
-  // console.log(data);
-    console.log("Login successfully!");
-  });
-
-  PubSub.topic('login:failure').subscribe(function(data) {
-  //  console.log(data);
-    console.log("Login failure!");
+    // logger.info(data);
+    logger.info("There is a request of being a member in the community!");
   });
 
   // Notification -----------------------------------------------------------------------------
   PubSub.topic('notification:external').subscribe(function(data) {
-    console.log(data);
-    console.log("notification!");
+    // logger.info(data);
+    logger.info("notification!");
   });
 
   // message -------------------------------------------------------------------------
   PubSub.topic('message:activity').subscribe(function(data) {
-    console.log(data);
-    console.log("Activity from message!");
+    // logger.info(data);
+    logger.info("Activity from message!");
   });
 
   PubSub.topic('message:stored').subscribe(function(data) {
-    console.log(data);
-    console.log("Message stored!");
+    // logger.info(data);
+    logger.info("Message stored!");
   });
 
   // invitation -------------------------------------------------------------------------
   PubSub.topic('invitation:init:failure').subscribe(function(data) {
-    console.log(data);
-    console.log("Failure from initation of invitation!");
+    // logger.info(data);
+    logger.info("Failure from initation of invitation!");
   });
 
   PubSub.topic('invitation:init:success').subscribe(function(data) {
-    console.log(data);
-    console.log("Success from initation of invitation!");
+    // logger.info(data);
+    logger.info("Success from initation of invitation!");
   });
 
   PubSub.topic('invitation:finalize:failure').subscribe(function(data) {
-    console.log(data);
-    console.log("Failure from finalization of invitation!");
+    // logger.info(data);
+    logger.info("Failure from finalization of invitation!");
   });
 
   PubSub.topic('invitation:finalize:success').subscribe(function(data) {
-    console.log(data);
-    console.log("Success from finalization of invitation!");
+    // logger.info(data);
+    logger.info("Success from finalization of invitation!");
   });
 
   PubSub.topic('invitation:process:failure').subscribe(function(data) {
-    console.log(data);
-    console.log("Failure from process of invitation!");
+    // logger.info(data);
+    logger.info("Failure from process of invitation!");
   });
 
   PubSub.topic('invitation:process:success').subscribe(function(data) {
-    console.log(data);
-    console.log("Success from process of invitation!");
+    //logger.info(data);
+    logger.info("Success from process of invitation!");
   });
 
   // -----------------------------------------------------------------------------------------
+  PubSubG.topic('usernotification:created').subscribe(function(data) {
+    //logger.info(data);
+    logger.info("usernotification:created");
+  });
+  
+  // -----------------------------------------------------------------------------------------
+  PubSubG.topic('message:activity').subscribe(function(data) {
+    //logger.info(data);
+    logger.info("	message:activity");
+  });
+
+  // -----------------------------------------------------------------------------------------
+  PubSubG.topic('message:stored').subscribe(function(data) {
+    //logger.info(data);
+    logger.info("message:stored");
+  });
+  
+  // -----------------------------------------------------------------------------------------
+  PubSub.topic('graceperiod:done').subscribe(function(data) {
+    logger.info('************************************************');
+    logger.info("graceperiod:done");
+    logger.info(data);
+  });
+  
 
   logger = dependencies('logger');
   core = require('./core')(dependencies);