Generalized extend