delegate -> controller