refactoring
more card implementations