add delegate require