add delegate chosen function