lots of styling and function upgrades