bunch of tweaks and additions