better / complete parsing of patterns