add upvote feature