dsgn pat - prototype looks good (+ self CRs)