add request_vote impl