some parsing error fix but, not perfect