various changes and upgrades