read code and analysis it！