blog implementation(4)