hand crafted parser