add optimize