What problem in preupgrade does it seek to solve and how does it solve it? I have read the documentation and that question doesn't seem to be answered.