extracting common terms



Hi,

I am trying to solve a system of functional equations using
perturbation methods.  I have equations the left side of which look
like, for example,

exp:delta*S(t,e)+M*beta*S(t,e)*v(t,e)^alpha*u(t,e)^(1-alpha)+M*(1-beta)*S
(t,e)*v(t,e)^alpha*v(t,e)^-alpha;

I would like to bring diff(exp,e) to the form

diff(v(t,e),e)*A + diff(u(t,e),e)*B + diff(S(t,e),e)*C

and get a list [A,B,C].  I tried reading the archives, and found
facsum, but

facsum(diff(exp,e),diff(v(t,e),e));

does not quite do what I want: fractions remain in the whole thing (I
want something "flat"), and I don't know how to extract the
expressions that correspond to A,B,C above.

Thanks,

Tamas

PS.: sorry if this appears more than once, it didn't go through gmane the 
first time.