function lendGovernmentMoney(address buddy) returns (bool) {
        uint amount = msg.value;
        
        
        if (lastTimeOfNewCredit + TWELVE_HOURS < block.timestamp) {
            
            msg.sender.send(amount);
            
            creditorAddresses[creditorAddresses.length - 1].send(profitFromCrash);
            corruptElite.send(this.balance);
            
            lastCreditorPayedOut = 0;
            lastTimeOfNewCredit = block.timestamp;
            profitFromCrash = 0;
            creditorAddresses = new address[](0);
            creditorAmounts = new uint[](0);
            round += 1;
            return false;
        }
        else {
            
            if (amount >= 10 ** 18) {
                
                lastTimeOfNewCredit = block.timestamp;
                
                creditorAddresses.push(msg.sender);
                creditorAmounts.push(amount * 110 / 100);
                
                
                corruptElite.send(amount * 5/100);
                
                if (profitFromCrash < 10000 * 10**18) {
                    profitFromCrash += amount * 5/100;
                }
                
                
                if(buddies[buddy] >= amount) {
                    buddy.send(amount * 5/100);
                }
                buddies[msg.sender] += amount * 110 / 100;
                
                if (creditorAmounts[lastCreditorPayedOut] <= address(this).balance - profitFromCrash) {
                    creditorAddresses[lastCreditorPayedOut].send(creditorAmounts[lastCreditorPayedOut]);
                    buddies[creditorAddresses[lastCreditorPayedOut]] -= creditorAmounts[lastCreditorPayedOut];
                    lastCreditorPayedOut += 1;
                }
                return true;
            }
            else {
                msg.sender.send(amount);
                return false;
            }
        }
    }