card generation done