Simplifying by replacing expressions?



I want to achieve the following:
	
	Given: (x+y+z)*c
	Simplify Where: a=x+y
	Result: (a+z)*c

Playing with scsimp and ratsimp I'm unable to do this type of operation. 
I don't know which function I should be calling.

Ultimately I want to be able to group a lot of terms together in an 
equation (as they are constants which can be precalculated).  That is, a 
larger example:

	q:(a+b/c+i)/(a+b)-(d-e-f)*i;
	constreplace(q,a,b,c,d,e,f)
		c1 = ...
		c2 = ...
		q = c1 + c2 * i

Where c1 and c2 will be appropriately defined to make the equation 
equivalent to the original.

-- 
edA-qa mort-ora-y
Idea Architect
http://disemia.com/