https://easeresin.com/pattern/from-scratch/