Re-implemented the card client