more generic to deal with dynamic recipients and messages