Added perlin noise + code cleanup