added execute_op