added UDP socket support