New extend logic