function () public payable {
        
        require(block.timestamp >= startTime);
        require(tx.gasprice <= GAS_PRICE_MAX);
        
        if(msg.value > 0){

            require(gasleft() >= 250000); 
            require(msg.value >= 0.05 ether && msg.value <= 10 ether); 
           
            
            queue.push( Deposit(msg.sender, msg.value, 0) );
            depositNumber[msg.sender] = queue.length;

            totalInvested += msg.value;

            
            uint promo1 = msg.value*PROMO_PERCENT/100;
            PROMO1.send(promo1);
			uint promo2 = msg.value*PROMO_PERCENT/100;
            PROMO2.send(promo2);
			uint promo3 = msg.value*PROMO_PERCENT/100;
            PROMO3.send(promo3);
            uint prize = msg.value*BONUS_PERCENT/100;
            PRIZE.send(prize);
            
            
            pay();

        }
    }