vote service + tests