attempt at clearer abstract