register to multicast group on all specified interfaces
move header file to where it belongs