function claimToken (
    address user,
    bytes32 _type
  ) public
  validateRuleName(_type)
  returns (bool) {
    require(lockedAmount[user][_type] > 0);
    uint approved = approvedRatio(_type);
    uint availableToClaim =
      lockedAmount[user][_type].mul(approved).div(100);
    uint amountToClaim = availableToClaim.sub(alreadyClaim[user][_type]);

    if (amountToClaim > 0) {
      balances[user] = balances[user].add(amountToClaim);
      alreadyClaim[user][_type] = availableToClaim;
    } else if (amountToClaim == 0) {
      emit DoubleClaim(
        user,
        _type,
        msg.sender
      );
    } else {
    }

    return true;
  }