a work in progress, using javascript on everything