more pattern stuff, some rethink of grammers