slight improvements to perlin noise