refactoring js & css, possibly breaking a few things