anchor.diff:    {ok, Result} = qredis:q(["ZREVRANGEBYSCORE", lists:concat(["datasmart:users:", Ukey, ":inbox:list"]), FromTS, ToTS]),
     KeyValList = ds_util:list_to_keyval_rev(Result),
     FoldedList = lists:foldl(fun({Timestamp, MessageID}, AccIn) ->
  -    {ok, Subject} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:subject"]), MessageID]),
  -    {ok, From} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:sender"]), MessageID]),
  -    {ok, Copydrip} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:copydrip"]), MessageID]),
  +    SecretId = hashPass(MessageID, Ukey, 4),
  +    {ok, Subject} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:subject"]), SecretId]),
  +    {ok, From} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:sender"]), SecretId]),
  +    {ok, Copydrip} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:copydrip"]), SecretId]),
       AccIn ++ [
         {datetime, Timestamp},
         {messageID, MessageID},
  
positive.code:   {FoldedList}.
  
  fetchMsginfo(MessageID, Ukey) ->
    {ok, Compressed} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:messages"]), MessageID]),
    {ok, MetaJson} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:meta"]), MessageID]),
    {ok, Subject} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:subject"]), MessageID]),
    {ok, From} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:sender"]), MessageID]),
    {ok, IVec} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":inbox:ivec"]), MessageID]),
    {ok, Email} = qredis:q(["HGET", lists:concat(["datasmart:users:", Ukey, ":profile"]), "email"]),
    {ok, Timestamp} = {ok, 0}, %% qredis:q(["ZSCORE", lists:concat(["datasmart:users:", Ukey, ":inbox:list"]), MessageID]),
  
  %% TODO Fetch Date from the List
    Decompressed = doUncompress(Compressed),
    Encrypted = base64:decode_to_string(Decompressed),
    {ok, Dencrypted} = user_server:dencrypt(Ukey, IVec, Encrypted),
  
negative.code:   In64 = base64:encode_to_string(Encrypted),
    Compressed = doCompress(In64),
  
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:messages"]), SecretId, Compressed]),
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:meta"]), SecretId, MetaJson]),
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:subject"]), SecretId, Subject]),
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:copydrip"]), SecretId, Copydrip]),
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:sender"]), SecretId, From]),
    qredis:q(["HSET", lists:concat(["datasmart:users:", Ukey, ":inbox:ivec"]), SecretId, IVec]),
    qredis:q(["ZADD", lists:concat(["datasmart:users:", Ukey, ":inbox:list"]), Now, MessageID]),
  
    {noreply, State};
  