lots of stylistic changes