@fengjingchao fixed, still return a Ballot