         total += c.plan().price if c.plan()?
       total / 100
 
-    @matrix = @komp =>
+
+    @userMatrix = @komp =>
+      users = {}
+      for login, plan of @collaborators()
+        users[login] = plan.id
+      users
+
+    @organizationMatrix = @komp =>
+      orgs = {} # TODO: merge with existing plans
+      orgs[@selectedOrganization()] = {add_new: false, default: @selectedPlan()}
+      orgs
 
 
     # use computed observable because knockout select boxes make it hard to do otherwise

  selectPlan: (plan) =>
    @selectedPlan(plan)
    @collaborators(({login: v, plan: ko.observable(plan)} for v in @teamMembers()[@selectedOrganization()]))


    SammyApp.setLocation "/account/plans/#{@selectedOrganization()}/edit"



    teamMembers: {} # github data; map of org->[users]
    stripeCard: null # card info to be used with stripe
    stripeToken: null
    availablePlans: [] # the list of plans that a user can choose
    paid: true
    selectedOrganization: null
