add basic groups api

That's arguably a bug in ``new_smart_group``. :)