add smhwrite
merged