add a fifth message so we don't get a blank line sometimes
clean up read_in() and bind_to_port()