Add schemas code

those operations are identical, aren't they? So for clarity can we separate the `sChild` extraction from what we do with it.