DRYer code, extracted logic to the operations
Extracted card options to a different class. This desing may be temporal, but it helps to clean things up
Update README