user can vote unvote and change votes