* refactored with vs2010 as well