Backtracked Largest First added, it works very well,
adding integer argument to the constructor defines treshold, negative value makes it run LF first and use 0.8 * LF result