huge rework, most of the old javascript is gone