branching waiting on Yinglei's tostring