deconstruct direct products