implemented voting