working perlin