https://www.cppstories.com/2019/02/2lines3featuresoverload.html/