add some pattern stuff still