fix wrong delegate method calling