compiles with visual studio