work on abstracting out card class