voting logic complete