added upvote, downvote func