Lots of improvements