reworked card class