smarter create_group