implemented Downgrade & Update