add new function : compose... and decompose..., start work on Thursday