change card logic, make it simpler