function subAllocation(address sender) private
  {
      uint256 total_lockamount = 0;
      uint256 total_unlockamount = 0;
      for (uint j=0; j<allocations[sender].length; j++)
      {
          if (allocations[sender][j].releaseTime < block.timestamp)
          {
              total_unlockamount = total_unlockamount.add(allocations[sender][j].balance);
              allocations[sender][j].balance = 0;
          }
          else
          {
              total_lockamount = total_lockamount.add(allocations[sender][j].balance);
          }
      }

      if (total_unlockamount > 0)
      {
        emit UnLock(sender, block.timestamp, total_unlockamount);
      }
      
      if(total_lockamount == 0 && allocations[sender].length > 0)
      {
          delete allocations[sender];
      }
  }