change from notification to delegate