C++ remake of upornot