Implementation - version 1 Have one tree with addresses: allows for fast lookup, unmap same as previous implementation Have multiple trees with free space: allows for O(log n) allocation Have random selection of where to allocate: find first entry with sufficient space step arc4random_uniform(8) entries ahead allocate from this entry, using a random gap