support recursive monitoring