some tweaks, and a bunch of additions