gcc not happy
gcc insist this is declared noexcep't