Added Perlin noise generator