Too many things...
Completely reworked the js parts