merge design pattern