Improved perlin implemented