This doesn't need to be virtual.