Main author: Laurent Bercot Thanks to: A. Wilcox