all this is handled in the parent