recursive summary
minor change is provider enhance call