Add new cards Second Part

Now new cards can be added, and the implementation is a lot better