functional lazy load images use redux to implement search avoid rerendering use 3 col layoout design use tailwind