added base card class and API controller