remove func dispatch and structdispatcher