udp dial once
refactor announce