properly process tags on crossing and detect bad ones