rewrote abstract a bit