merge respects callbacks