use std::map for cards