add first try for iteration
first try for optimization