bug with incorrect card order is fixed. Existing card returning instead creating new by calling constructor twice is implemented