I've looked everywhere and have been unable to find exactly what I'm looking for. I have an idea of what I need, but am unable to put 2 and 2 together. 

* I need to allow users to create groups and allow other users to join the groups.
* Any user can create a group.
* Any user can send a request to join another group.
* A user can CREATE only ONE group, but can BELONG to MANY groups.
* The creator of the group is the owner of the group.
* All of the members and the owner are regular users with no special permissions.
* The group creator/owner can add/remove other group members.

This code isn't proper, but this is the idea:

```
class Group < ActiveRecord::Base
 has_one :owner, :class_name => "user"
 has_many :members, :class_name => "user"
end

class User < ActiveRecord::Base
 belongs_to :groups
 has_one :group, :class_name "user"
end

```

I believe I need a has\_many :through association, but am unsure about how to implement it. How do I build my models/controllers/migrations in order to represent the association within the parameters above?