Separate Parser/Patterns from Parser