split out custom styles and scripts, further cleanup and refactoring to split out context from styling and functionality