implemented past and candidate members
deal gracefully with non-existing groups and empty groups