handler优化