https://medium.com/@oliverwinstongray/exploring-the-mysteries-of-javascripts-math-object-e71926f69090