more refactors for CSGNode class