js, html, and js reusable components