lots of small changes