1.8.2 improve efficiency