finished fleshing out compatibility code