recursive question parsing