added sw-extend!