fleshing out new error design