pass boolean where appropriate and don't use unsigned char facet, this will cause explosions on linux and is unnecessary