also compilable with VS2010 Express