some changes to conditional parsing