add design pattern for CARD