preserve(lp): adding pivot chooser and saving work