add the new algorithms by Zhou