Tested on VS 2010