Updated perlin noise fucntion to include randomness