direct prod decomposition