add memberships model, controller and functionality