fix new self type