work around for msvc __VA_ARGS