further work needed - working on when constant propogation occurs