final credit card refactor