added morph operations