Expand dot product of spin-operators

Hi all,

I was wondering if there is a smart way in Mathematica to expand powers of dot products of spin-operators -for instance (S_i * S_ j)^3 where S is the spin vector on site I and the same for the site j- into combinations of Splus, Sminus, S_z (where Splus and Sminus are the raising/lowering operators).

For the exponent 1, it is very easy by hand (by using the definition of Splus and Sminus):

S_i * S_ j = S_z * S_z + 0.5*(SplusSminus + SminusSplus)

I would like to obtain similar expansion for higher exponents, such as (S_i * S_ j)^3 and (S_i * S_j)^4.

Thank you very much.