Added noexcept macro for visual studio's sake