function buyField() internal isInitialized {
		require(msg.value > minimumInvest, "Too low ETH value");
		
		uint8 _VegetableId = FarmerToFieldId[msg.sender];
		
		
		uint256 acres = SafeMath.div(msg.value,fieldPrice(msg.value));
        
		if (FarmerVegetableStartGrowing[msg.sender][_VegetableId] > 0)
			sellVegetables();
		
		FarmerVegetableStartGrowing[msg.sender][_VegetableId] = now;
		FarmerVegetableFieldSize[msg.sender][_VegetableId] = SafeMath.add(FarmerVegetableFieldSize[msg.sender][_VegetableId],acres);
		
		
		VegetablesTradeBalance[_VegetableId] = SafeMath.add(VegetablesTradeBalance[_VegetableId], SafeMath.div(acres,5));
		
        uint256 fee = devFee(msg.value);
		admin.send(fee);
		
        if (msg.data.length == 20) {
            address _referrer = bytesToAddress(bytes(msg.data));
			if (_referrer != msg.sender && _referrer != address(0)) {
				 _referrer.send(fee);
			}
        }		
    }