Use CPP back-end to avoid dynamic lib issues