constant propogation