basic upvoting functional