extracted voting to module