function() public payable
	isStarted
	rerfererVerification
	isBlockInvestments
	minInvest
	allowInvestFirstThreeDays
	setDailyInvestContract
	setDailyInvest
	maxInvestPerUser
	maxDailyInvestPerContract
	setAdvertisingComiss {

		if (msg.value == 0) {
			
			withdraw_revenue(msg.sender);
		}
		else
		{
			
			address ref_addr = msg.data.toAddr();

			
			if (!checkInvestor(msg.sender)) {
				
				createInvestor(msg.sender,ref_addr);
			}

			
			setDivedents(msg.sender);

			
			setCashBackBonus(msg.sender, msg.value);

			
			setAmount(msg.sender, msg.value);

			
			setAllRefererBonus(msg.sender, msg.value);
		}
	}