redid everything but the js (aside from some words)