a slithly smarter parser