finished election rewrite