add some structural patterns