fixed for Visual C++ 2008