a bunch of changes to fix bugs, to improve UX, and i broke msie compat. no style updates