Changed to c++11 standard, usage of std funcs instead of customs, and class static functions now are namespace functions