updated to use sets rather than load all cards