Påbörjad c++-portning, men jag vet inte om det är värt det...