With the aid of index functions, we re-derive the ML($n$)BiCGStab algorithm in [Yeung and Chan, SIAM J. Sci. Comput., 21 (1999), pp. 1263-1290] systematically. There are $n$ ways to define the ML($n$)BiCGStab residual vector. Each definition leads to a different ML($n$)BiCGStab algorithm. We demonstrate this by presenting a second algorithm which requires less storage. In theory, this second algorithm serves as a bridge that connects the Lanczos-based BiCGStab and the Arnoldi-based FOM while ML($n$)BiCG is a bridge connecting BiCG and FOM. We also analyze the breakdown situation from the probabilistic point of view and summarize some useful properties of ML($n$)BiCGStab. Implementation issues are also addressed.