function claimTokens() external {

        require(mainSaleSuccessfull);
       
        require (token != address(0));  
                                        
                                        
           
        Backer storage backer = backers[msg.sender];

        require (!backer.refunded); 
        require (!backer.claimed); 
        require (backer.tokensToSend != 0);   

        claimCount++;
        claimed[msg.sender] = backer.tokensToSend;  
        backer.claimed = true;
        totalClaimed = safeAdd(totalClaimed, backer.tokensToSend);
        
        if (!token.transfer(msg.sender, backer.tokensToSend)) 
            revert(); 

        TokensClaimed(msg.sender, backer.tokensToSend);  
    }