fixed delegate invoke