fix dispatch issue and self type evaluation issue during dispatch