Refactored for MSVC2010, which does not support initializer list.