added card model with validations