update No.8 & almost finished