a improvement for parsing