begin writing parser