fix wraparound bug