Add ORDER BY
Add DISTINCT
Added aggregate functions
Use getMatch
Capture line numbers in pattern objects