redone all js structure. still needs Grunt