implemented des. pat.