Lots of small changes to make it shorter