https://www.b3h.net/2020/07/adamlength.html