1. Fix the memory bugs related to the last change
2. init communication before initTree because the initialize need
neighbors' information as well