card game impl