rework groups to allow for different storage (and more like useraccounts)