* c++0x refactoring
* c++0x refactoring 2