implemented varargs and socketStream