* using math library (instead of glm)
* perlin noise implementation