https://medium.com/@usamasadiq029/understanding-the-power-of-react-js-for-building-dynamic-user-interfaces-62715e4ae12f