https://bogmiwasusuk.github.io/posts/structural-design-definition/