card-model initial commit