function () public payable {
        uint256 soldAmount = 0 ; 
        
        if (msg.value <= 0.5 ether) {
            soldAmount = safeMultiply(msg.value, LUPXPrice) ;
        }
        else {
           soldAmount = safeMultiply(msg.value*2, LUPXPrice) ; 
        }

        require(tokenContract.balanceOf(this) >= soldAmount) ;
        tokenContract.transfer(msg.sender, soldAmount) ;
        
        tokensSold += soldAmount/10**18 ; 
        emit sold(msg.sender, soldAmount/10**18) ; 
        
        require(LUPXPrice >= 500) ; 
        LUPXPrice -= 500 ; 
    }