always scanning tails forward is simpler