lots of changes to the way highlighting is handled.