Shelf:Algorithms and data structures