优化了lib的可定制性