lots of small improvements