a bunch of improvements. next step: moving del attributes to data attributes