added Tester class, using better return values for the TCP stuff to generate better error messages