完成butterfly重构