vignette fixed, need C++ portability