code improvement & add project5 (under construction)