small speed optimization
small speed optimization