Adding perlin noise function and behaviour