compiles with vc++