change the way extend