tweaks to pattern interfaces