cross decomposition added