work well
solve none-fast-forward