Rebasing to2.1

This is the dynamic child hash patch.
I added some documentation and the samples still work on 2.1

I think it is good to go.