Add JS, rewrite button framework