start classy abstraction
split Parser#parse method into many methods