https://medium.com/@lalacorp.contact/usestate-vs-usereducer-when-to-use-each-state-management-hook-in-react-76a1d79ae4a1