prep for async insertion of cards by busting up the monolithic "get_cards" backend method