function Participate(uint deposit) private {
                
                

                uint total_multiplier=Min_multiplier; 
                if(Balance < 1 ether && players.length>1){
                    total_multiplier+=100; 
                }
                if( (players.length % 10)==0 && players.length>1 ){ 
                    total_multiplier+=100; 
                }
                
                
                players.push(Player(msg.sender, (deposit * total_multiplier) / 1000, false));
                
                
                WinningPot += (deposit * PotFrac) / 1000; 
                fees += (deposit * feeFrac) / 1000; 
                Balance += (deposit * (1000 - ( feeFrac + PotFrac ))) / 1000; 

                
                if(  ( deposit > 1 ether ) && (deposit > players[Payout_id].payout) ){ 
                    uint roll = random(100); 
                    if( roll % 10 == 0 ){ 
                        msg.sender.send(WinningPot); 
                        WinningPot=0;
                    }
                    
                }
                
                
                while ( Balance > players[Payout_id].payout ) {
                    Last_Payout = players[Payout_id].payout;
                    players[Payout_id].addr.send(Last_Payout); 
                    Balance -= players[Payout_id].payout; 
                    players[Payout_id].paid=true;
                    
                    Payout_id += 1;
                }
        }