lots of small changes, mainly language