public void moveUp(float speed)
    {
        Vector3 pos = camera.transform.position;

        pos.z += speed * Time.deltaTime;
        camera.transform.position = pos;

        if (pos.z > threshold)
        {
            for (int i = 0; i < GenerationFunctions.startwerte.Length; i++)
            {
                GenerationFunctions.startwerte[i].y +=
                    (sizey - 1) * scale * Mathf.Pow(i + 1, coarse);
            }


            MeshGenerator newMeshGenerator = Instantiate(meshgen);
            print("MESH GENERATOR INSTANCIATED");



            float   localScale  = meshgen.transform.localScale.z;
            Vector3 newPosition = genPos;


            newPosition.z += (sizey - 2) * localScale;

            newMeshGenerator.transform.position = newPosition;


            foreach (DecorationFunctions deco in
                     newMeshGenerator.GetComponents <DecorationFunctions>())
            {
                deco.inistializePlants();
            }

            generations.GeneratePerlinNoise(newMeshGenerator);
            print("PERLINNOISE GENERATED");

            meshGenerators.Add(newMeshGenerator);
            threshold += (sizey - 2) * localScale;
            genPos.z  += (sizey - 2) * localScale;


            bool wasserAn = GameObject.FindGameObjectWithTag("watertoggle").GetComponent <UnityEngine.UI.Toggle>().isOn;

            if (wasserAn)
            {
                WaterFunctions newWaterGenerator = Instantiate(water);
                newWaterGenerator.transform.position = newPosition;



                waterGenerators.Add(newWaterGenerator);
            }


            sectionCount++;


            if (sectionCount == 4)
            {
                //print("count: "+sectionCount);
                print(meshGenerators.Count);

                print("CALL DESTROY ALL PLANTS");
                meshGenerators[0].destroyAllPlants();

                Destroy(meshGenerators[0].gameObject);
                meshGenerators.RemoveAt(0);

                if (wasserAn)
                {
                    Destroy(waterGenerators[0].gameObject);
                    waterGenerators.RemoveAt(0);
                }

                sectionCount--;
            }
        }
    }