C++ implementation of Dominion