workaround for VC++