break apart the js files into a more maintainable structure