public static JsonResponse addCare(String src, String target, String displayName) {
		JsonResponse resp = new JsonResponse(NOK, String.format("Error: Invalid request"));
		
		//OR by email
		User srcUser = User.find("byPhoneNumber", src).first();
		//OR by email
		User targetUser = User.find("byPhoneNumber", target).first();
		CMR careCmr = new CMR(target, REQ_PENDING);
		CMR shareCmr = new CMR(src, REQ_PENDING);	
		
        if(srcUser == null) {
            return resp;
        }   
                
		if(srcUser.cares == null) {
			srcUser.cares = new HashMap<String, CMR>();
		}
		
		//TODO this should move to another method
	    if(targetUser == null) {
	       JsonObject obj = new JsonObject();
	       obj.addProperty("action", "sms");
	       obj.addProperty("message", "I\'m using CareMe healthcare app, please download it from google playstore: http://bit.ly/13qv128 so that i can add you to my list");
	       if(srcUser.cares.containsKey(target)) {
	    	   return new JsonResponse(NOK, "Selected user has been added to care list");   
	       }
	       srcUser.cares.put(target, careCmr);
	       PendingRequest pr = new PendingRequest(target, shareCmr);
	       srcUser.save();
	       pr.save();
	       return new JsonResponse(OK, "User add to care list", gson.toJson(obj));
	    }
		if(targetUser.shares == null) {
			targetUser.shares = new HashMap<String, CMR>();
		}
		
		if(srcUser.cares.containsKey(target) 
				//prevent user send multiple time
		    || (targetUser.shares.containsKey(src) && targetUser.shares.get(src).status == REQ_PENDING)) {
			return new JsonResponse(NOK, String.format("Care request has been sent for number(%s)", target));
		}
	
		//keep request pending in src user table
		srcUser.cares.put(target, careCmr);	
		//keep approval pending in target user table		
		targetUser.shares.put(src, shareCmr);
		
		JsonObject obj = new JsonObject();
		//TODO
		//obj.add("", "")s;
//		NotificationTask notifTaks = new NotificationTask(srcUser.email, 
//				targetUser.email, ACTION_ADDCARE, "", "", );
//		
		srcUser.save();
		targetUser.save();
		resp = new JsonResponse(OK, String.format("Add to care list"));
		return resp;
	}