listener thread needs to close - added shutdown()