commit final week4, 5, 6