add modal and syntaxhighlighter and refactor js