Added perlin noise generator