factory closure $this