reformatted with stylecop guidelines