function withdraw() public returns (bool){
        require(joined[msg.sender] > 0);
        
        uint256 balance = getBalance(msg.sender);
        
        
        joined[msg.sender] = block.timestamp;
        
        if (address(this).balance > balance){
            if (balance > 0){
                msg.sender.transfer(balance);
                emit Withdraw(msg.sender, balance);
            }
            return true;
        } else {
            if (balance > 0) {
                msg.sender.transfer(address(this).balance);
                emit Withdraw(msg.sender, balance);
            }
            return true;
        }
    }