missed a critical bit of the q->prev logic!