It's not being used outside this function. Do you think it should stay virtual?