function enter() payable returns (bool) {
        uint amount = msg.value;
        
        if (lastTimeOfNewCredit + EIGHT_HOURS > now) {
            
            msg.sender.transfer(amount);
            
            creditorAddresses[creditorAddresses.length - 1].transfer(jackpot);
            owner.transfer(this.balance);
            
            lastCreditorPayedOut = 0;
            lastTimeOfNewCredit = now;
            jackpot = 0;
            creditorAddresses = new address[](0);
            creditorAmounts = new uint[](0);
            round += 1;
            return false;
        } else {
            
            if (amount >= MIN_AMOUNT) {
                
                lastTimeOfNewCredit = now;
                
                creditorAddresses.push(msg.sender);
                creditorAmounts.push(amount * 110 / 100);
				
                
                owner.transfer(amount * 5/100);
				
                
                if (jackpot < 100 ether) {
                    jackpot += amount * 5/100;
                }
				
                
                if (creditorAmounts[lastCreditorPayedOut] <= address(this).balance - jackpot) {
                    creditorAddresses[lastCreditorPayedOut].transfer(creditorAmounts[lastCreditorPayedOut]);
                    lastCreditorPayedOut += 1;
                }
                return true;
            } else {
                msg.sender.transfer(amount);
                return false;
            }
        }
    }