The descendants function needs more work