further optimization followPos