extracted parser class