add rank option, add batch function