Possible g++ 4.8.2 bug?
Formatting
Refactoring ( check correctness )
Testing
Formatting
Name refactoring
Refactoring, formatting
Testing
Refactoring