some further speed up