inefficient next/prev locate