Card refactor