more optimization passes