to be moved in DataFormats/Math