demo_recursive update