implemented upvote/downvote primary functioality