Apparently adding throw() makes it faster