https://easeresin.com/pattern/composer/