Added the assign function. Need to work on eliminate function and contraint propagation