support recursive include