c++ wrapper for libpuzzle