added upvoting and downvoting