default copy/move constructor/assigment operator and add noexcept where possible