Providing high concurrency in B+ -trees has been studied extensively. but few efforts have been documented for combining concurrency methods with a recovery scheme that preserves well-formed trees across system crashes. we describe an approach for this that works for a class of index trees that is a generalization of the blink-tree. a major feature of our method is that it works with a range of different recovery methods. it achieves this a range of different recovery methods. it achieves this by decomposing structure changes in an index tree into a sequence of atomic actions, each one leaving the tree well- formed and each working on a separate level of the tree. all atomic actions on levels of the tree above the leaf level are independet of database transactioncns, and so are of short duration.