move some private methods out of line, add a skipRecord() method.
convert some more stuff over to use new cursor APIs.