modify not depend on c++0x