Much smarter parser