restructure input and output into udp package
get rid of superfluous ArgumentException classes

Just use the built-in IllegalArgumentException class instead