https://ones.com/blog/comparison/smart-component-recommendation-guide/