card effects and unit tests