my version of the abstract, too different for diff