rewrite the js and straighten out all the events, probably