optimizer updated