added way to use different pointer for children which is very important when building a nested elements