finished optimize 3