remove boost dep, add noexcept annotation