integration patterns