change structure of publisher and receiver, add ability, type, ext

change structure of publisher and receiver, add ability, type, ext

change structure of publisher and receiver, add ability, type, ext