refactoring a bit, adding comments
refactoring SetCard

removed the enums, simplified the setWith logic