completed exercise one - udp