added tree pattern for kernelc