reorganized and recomponentized the entire app (html/js)