ENH: move reduce to BaseNode cause top-down process in BaseNode