sync, algo improve