implementing a card ui