remove global namespace and refactored files to include std::