function availableBalanceOf(
        address _tokenHolder
    ) 
        public 
        view 
        returns (uint256) 
    {
        uint256 startDate = lockingMap[_tokenHolder].startDate;
        uint256 tokens = 0;
        
        if (startDate + sixMonth <= block.timestamp) {
            tokens = lockingMap[_tokenHolder].bucket1;
        }

        if (startDate + twelveMonth <= block.timestamp) {
            tokens = tokens + lockingMap[_tokenHolder].bucket2;
        }

        if (startDate + eighteenMonth <= block.timestamp) {
            tokens = tokens + lockingMap[_tokenHolder].bucket3;
        }

        return tokens;
    }