implemented CardTypes. resolves #98