version without bind()