bunch of improvements