use self instead of this.