add multi group functional