Refactoring: split functionality to files. Add new code, html and css.