added c++11 features and suppressed warnings