https://annegautham.github.io/posts/stm-design-overview/