big internal update to support new versioning and more auto updating